我有两个简单的活动 -
Activity1:从数组中获取的 ListView
Activity2:用于编辑 Activity1 中所点击行的 EditText
当我在 Activity2 中编辑值并返回到 Activity1 时,ListView 不会重新加载新值。
我希望在我从 Activity2 返回或恢复 Activity1 或者其他更新列表的操作时刷新 ListView。
我的代码:
当我在 Activity2 中编辑值并返回到 Activity1 时,ListView 不会重新加载新值。
我希望在我从 Activity2 返回或恢复 Activity1 或者其他更新列表的操作时刷新 ListView。
我的代码:
static ArrayAdapter<String> dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; i<fulllist.length; i++) {
list[i] = fulllist[i][1];
}
// --------------------------------
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
setListAdapter(dataAdapter);
}
@Override
public void onResume() {
super.onResume();
// Loading the values to list array
String[][] fulllist = loadArrays();
String[] list = new String[fulllist.length];
for(int i = 0; i<fulllist.length; i++) {
list[i] = fulllist[i][1];
}
// --------------------------------
dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
list);
dataAdapter.notifyDataSetChanged();
}
loadArrays() 是将 SharedPreferences 转换为字符串数组的方法。Activity2 将新数据保存在 SharedPreferences 中,然后 Activity1 可以读取它(包括新数据)。 如果我返回到“主活动”(不是 Activity1),然后再回到 Activity1,则会显示新数据,但我希望当我立即从 Activity2 返回时,数据将被更新。
loadArrays() 方法:pastebin.com/MHwNC0jK
提前感谢您!