2013-02-10 2 views
0

Основная деятельность приложения - отображение списка. Пользователь нажимает на что-то в списке, который открывает экран редактирования. После fisnish ​​экран редактирования закрыт - и я хочу, чтобы исходный список обновлялся с любым, что было на экране редактирования. Я сохраняю данные в файле - и я могу просто прочитать его снова, чтобы обновить список. Однако я не знаю, куда вставить код повторного чтения.Обновление списка после завершения дочернего процесса

В ListActivity - какой метод называется whe, список снова получает фокус?

Это мой основной код Список деятельности:

Создание вид:

@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); 


} 

В го e Редактирование функции Я заканчиваю следующим образом:

@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
@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. 

} 
0
+0

Благодаря Клаль, я могу видеть, что это будет полезно, когда я прочитал данные. Однако мне нужно знать, когда функция редактирования будет завершена, чтобы я мог обновить отображаемый список. Любые предложения о том, как это реализовать? – Jan

+0

этого метода вызывается, когда ваши данные загружаются общественных недействительным выполнить (Executor aExecutor, Params ... aParams) {// загрузка данных} этого метода является вызовом, когда ваши данные загружен защищенного недействительного onPostExecute (Целочисленный результат) { super.onPostExecute (результат); } – Kels

+0

Я не понимаю. Будет ли вызов onPostExecute вызываться при завершении функции редактирования? – Jan

Смежные вопросы