应用程序的主要活动是显示列表。用户点击列表上打开编辑屏幕的内容。在fisnish上,编辑屏幕关闭 - 我想要使用编辑屏幕上的任何内容更新原始列表。我将数据保存到文件中 - 我可以再次读取它来更新列表。但是我不知道在哪里插入重新读取的代码。
在ListActivity中 - 当列表再次获得焦点时,会调用什么方法?
这是我的主要活动代码:
创建视图:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Inflate our UI from its XML layout description.
setContentView(R.layout.my_activity);
list=new Data_List(this); // my data reading class
list.read_data(); // reads from a file
load_dynamic_list();
}
加载数据:
private void load_dynamic_list(){
ladapter=new
list_adapter(this,android.R.layout.simple_list_item_1,list); // the type is actually ignored // getview function in list_adapter handles everything
setListAdapter(ladapter);
this.getListView().invalidate();
}
选择了一些东西:
protected void onListItemClick (ListView l, View v, int position, long id){
int a;
intent = new Intent(this,Editing.class);
intent.putExtra("New_entry",0);
intent.putExtra("Entry",position);
//start the second Activity
this.startActivity(intent);
}
在编辑功能中,我这样结束:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId() == R.id.button_save){
do_save(); // saves to a file
// I want something like: caller.getListView().invalidate();
finish();
}
if(v.getId() == R.id.button_cancel){
finish();
}
}
编辑完成后,我可以覆盖或调用哪种方法?此时我想再次read_data()
然后load_dynamic_list()
。
答案 0 :(得分:0)
你必须使用AsyncTask。
首选网址:
http://steveliles.github.com/android_s_asynctask.html http://www.vogella.com/articles/AndroidPerformance/article.html
举例:
http://labs.makemachine.net/2010/05/android-asynctask-example/
答案 1 :(得分:0)
@Override
protected void onResume() {
super.onResume();
list=new Data_List(this);
list.read_data();
load_dynamic_list(); // becuase whatever was edited needs to be reread.
}