Почему я не могу получить данные в пользовательском представлении списка после возвращения из следующего действия? - PullRequest
0 голосов
/ 15 декабря 2011

В моем приложении есть три экрана.1. Главное меню 2. Пользовательское действие ListView 3. Подробная страница Упражнение

Теперь я реализовал адаптер и пользовательский ListView для Действия ListView.Я собираюсь добавить некоторые данные в ListView Activity.Но эти данные должны быть выбраны на странице сведений. Упражнение.

Итак, после выбора данных на странице сведений, если я возвращаюсь к действию ListView, данные не отражаются.Но если я закончу это действие ListView и снова зайду в ListView Activity из главного меню.Таким образом, я получил выбранное значение.

Так что не так?Почему я не могу получить эффект мгновенно, если я изменяю данные со страницы сведений.

Я думаю, что всякий раз, когда я возвращаюсь к ListViewActivity, мне приходится обновлять все данные.Но я не знаю как.Не могли бы вы мне помочь?

Спасибо.

Ответы [ 2 ]

1 голос
/ 15 декабря 2011
  1. Когда вы возвращаетесь к представлению списка, вы связываете новый адаптер или обновляете данные в списке?как ListView, который вы видите, из стека.с предыдущими данными.
  2. В качестве альтернативы, при переходе на страницу с деталями вы можете вызвать финиш для списка, так что при повторном запуске списка вы получите более свежий список.

    public void actionPerformed(View v){
      startActivityForResult(getIntent(),0);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     list.setAdapter(new MyAdapter(data.getExtras()));
     super.onActivityResult(requestCode, resultCode, data);
    }
    
1 голос
/ 15 декабря 2011

Чтобы обновить ListView, позвоните notifyDataSetChanged() на Adapter.

...