Android 在子进程完成后更新列表

Android 在子进程完成后更新列表,android,Android,应用程序的主要活动是显示列表。用户单击列表上的某个内容,打开编辑屏幕。在fisnish之后,编辑屏幕被关闭——我希望原始列表被更新为编辑屏幕上出现的任何内容。我将数据保存到一个文件中,然后我可以再次读取它来更新列表。但是我不知道在哪里插入重读代码 在ListActivity中,当列表再次获得焦点时,调用什么方法 这是我的主要列表活动代码: 创建视图: @Override public void onCreate(Bundle savedInstanceState) { su

应用程序的主要活动是显示列表。用户单击列表上的某个内容,打开编辑屏幕。在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();
                    }
}

编辑完成后,我可以重写或调用将执行的哪些方法?此时,我想
读取数据()
,然后再次
加载动态列表()

您必须使用AsyncTask

首选URL:

举个例子:


谢谢KLAL,我可以看出这在我阅读数据时是有用的。但是,我需要知道编辑功能何时完成,以便更新显示的列表。有没有关于如何实现的建议?当加载数据时会调用此方法public void execute(Executor aExecutor,Params…aParams){//load data}当加载数据时会调用此方法受保护的void onpostsecute(Integer result){super.onpostsecute(result);}我不明白。编辑功能结束时是否会调用onPostExecute?数据完全加载后,onPostExecute将被执行。我已经解决了这个问题-所需的只是在onResume功能上再次读取数据,如下所示:
 @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. 

}