0

アプリケーションの主なアクティビティは、リストを表示することです。ユーザーがリストの何かをクリックすると、編集画面が開きます。終了すると、編集画面が閉じられます-編集画面で起こったことで元のリストが更新されるようにします。データをファイルに保存し、それを再度読み取ってリストを更新できます。しかし、再読み込みコードをどこに挿入すればよいかわかりません。

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()もう一度。

4

2 に答える 2

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. 

}
于 2013-02-10T15:41:06.923 に答える
0

AsyncTask を使用する必要があります。

URL を優先:

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/

于 2013-02-10T13:20:13.337 に答える