Den*_*nis 5 android listview android-arrayadapter
我有两个简单的活动 - 活动1:来自Array Activity2的ListView:EditText,用于编辑Activity1中单击的行
当我在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();
}
Run Code Online (Sandbox Code Playgroud)
loadArrays()只是从SharedPreferences转换为String Array的方法.Activity2将新数据保存在SharedPreferences中,而Activity1可以读取它(使用新数据).如果我返回"主要活动"(它不是Activity1)而不是返回到Activity1 - 会显示新数据,但我希望当我立即从Activity2返回时,这些数据会被更新.
loadArrays()方法:pastebin.com/MHwNC0jK
提前感谢你!
Sud*_*hat 11
单击第一个Activity中的项目时,启动第二个Activity startActivityForResult()
然后在第二个活动中,进入后EditText,可能有一个按钮.在onClick那个按钮电话中,
intent.putExtra("edittextvalue", findViewById(R.id.edittext).getText().toString());
setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)
现在你回到你的第一个Activity,在这里你必须实现onActivityResult()回调.您可以从该intent的附加内容中提取数据,并在数组中设置相应的项目并进行调用notifyDataSetChanged().
理想情况下,您应该如何做到这一点.
如果你想了解如何使用startActivityForResult更多信息()尝试此链接- http://manisivapuram.blogspot.in/2011/06/how-to-use-startactivityforresult.html
| 归档时间: |
|
| 查看次数: |
14273 次 |
| 最近记录: |