Skip to content

Commit b9fb6e9

Browse files
author
yinjie
committed
refresh diary list after click and edit diary
1 parent 0e47a83 commit b9fb6e9

File tree

4 files changed

+35
-14
lines changed

4 files changed

+35
-14
lines changed

app/src/main/java/com/wingjay/jianshi/ui/DiaryListActivity.java

+17-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package com.wingjay.jianshi.ui;
22

3+
import android.content.Intent;
34
import android.database.Cursor;
4-
import android.support.v7.app.ActionBarActivity;
55
import android.os.Bundle;
66
import android.support.v7.widget.LinearLayoutManager;
77
import android.support.v7.widget.RecyclerView;
8-
import android.view.Menu;
9-
import android.view.MenuItem;
108

119
import com.wingjay.jianshi.R;
1210
import com.wingjay.jianshi.data.Diary;
1311
import com.wingjay.jianshi.db.DbUtil;
1412
import com.wingjay.jianshi.ui.adapter.DiaryListAdapter;
1513
import com.wingjay.jianshi.ui.base.BaseActivity;
14+
import com.wingjay.jianshi.util.ConstantUtil;
1615

1716
import java.util.ArrayList;
1817
import java.util.List;
@@ -21,7 +20,8 @@
2120

2221
public class DiaryListActivity extends BaseActivity {
2322

24-
private List<Diary> diaryList;
23+
private final List<Diary> diaryList = new ArrayList<>();
24+
private DiaryListAdapter adapter;
2525

2626
@InjectView(R.id.diary_list)
2727
RecyclerView diaryListView;
@@ -36,16 +36,27 @@ protected void onCreate(Bundle savedInstanceState) {
3636

3737
// get all local diaries
3838
loadDiaries();
39-
DiaryListAdapter adapter = new DiaryListAdapter(DiaryListActivity.this, diaryList);
39+
adapter = new DiaryListAdapter(DiaryListActivity.this, diaryList);
4040
diaryListView.setAdapter(adapter);
4141
}
4242

43+
@Override
44+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
45+
super.onActivityResult(requestCode, resultCode, data);
46+
if (requestCode == ConstantUtil.REQUEST_CODE_VIEW_DIARY_FROM_LIST
47+
&& resultCode == RESULT_OK) {
48+
loadDiaries();
49+
adapter.notifyItemRangeChanged(0, diaryList.size());
50+
adapter.notifyDataSetChanged();
51+
}
52+
}
53+
4354
private void loadDiaries() {
44-
diaryList = new ArrayList<>();
4555
Cursor cursor = DbUtil.getAllDiary();
4656
if (cursor.getCount() == 0) {
4757
return;
4858
}
59+
diaryList.clear();
4960
if (cursor.moveToFirst()) {
5061
do {
5162
Diary d = new Diary();

app/src/main/java/com/wingjay/jianshi/ui/ViewActivity.java

+1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ protected void onCreate(Bundle savedInstanceState) {
6666
edit.setOnClickListener(new View.OnClickListener() {
6767
@Override
6868
public void onClick(View v) {
69+
setResult(RESULT_OK);
6970
Intent i = EditActivity.createIntentWithId(ViewActivity.this, diaryId);
7071
startActivity(i);
7172
finish();

app/src/main/java/com/wingjay/jianshi/ui/adapter/DiaryListAdapter.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package com.wingjay.jianshi.ui.adapter;
22

3-
import android.content.Context;
43
import android.content.DialogInterface;
54
import android.content.Intent;
65
import android.support.v7.app.AlertDialog;
76
import android.support.v7.widget.RecyclerView;
8-
import android.util.Log;
97
import android.view.LayoutInflater;
108
import android.view.View;
119
import android.view.ViewGroup;
@@ -16,6 +14,8 @@
1614
import com.wingjay.jianshi.data.Diary;
1715
import com.wingjay.jianshi.db.DbUtil;
1816
import com.wingjay.jianshi.ui.ViewActivity;
17+
import com.wingjay.jianshi.ui.base.BaseActivity;
18+
import com.wingjay.jianshi.util.ConstantUtil;
1919

2020
import java.util.List;
2121

@@ -24,8 +24,8 @@
2424
*/
2525
public class DiaryListAdapter extends RecyclerView.Adapter<DiaryListAdapter.DiaryListViewHolder> {
2626

27-
private Context context;
28-
private List<Diary> diaryList;
27+
private final BaseActivity context;
28+
private final List<Diary> diaryList;
2929

3030
public class DiaryListViewHolder extends RecyclerView.ViewHolder {
3131

@@ -40,7 +40,7 @@ public DiaryListViewHolder(View itemView) {
4040
}
4141
}
4242

43-
public DiaryListAdapter(Context context, List<Diary> diaryList) {
43+
public DiaryListAdapter(BaseActivity context, List<Diary> diaryList) {
4444
this.context = context;
4545
this.diaryList = diaryList;
4646
}
@@ -61,7 +61,7 @@ public void onBindViewHolder(DiaryListViewHolder diaryListViewHolder, int i) {
6161
@Override
6262
public void onClick(View v) {
6363
Intent i = ViewActivity.createIntent(context, d.getId());
64-
context.startActivity(i);
64+
context.startActivityForResult(i, ConstantUtil.REQUEST_CODE_VIEW_DIARY_FROM_LIST);
6565
}
6666
});
6767
final int index = i;
@@ -97,6 +97,4 @@ public int getItemCount() {
9797
return diaryList.size();
9898
}
9999

100-
101-
102100
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.wingjay.jianshi.util;
2+
3+
/**
4+
* Created by wingjay on 10/10/15.
5+
*/
6+
public class ConstantUtil {
7+
8+
public final static int REQUEST_CODE_VIEW_DIARY_FROM_LIST = 100;
9+
10+
11+
}

0 commit comments

Comments
 (0)