0

В моем приложении есть три экрана. 1. Главное меню 2. Пользовательские ListView активность 3. Деталь странице АктивностьПочему я не могу получить данные в пользовательском представлении списка после возврата из следующего действия?

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

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

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

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

Спасибо.

+0

Как установить данные для деятельности списке следует? Данные взяты из db или каким-либо другим способом? – deepa

+0

Данные, взятые из статической переменной. –

+1

thn начать свой список активности заново, передав значение из detailaPage активности в customlistactivity – deepa

ответ

1

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

+0

Я использую его, но все же я не могу получить значение. что я изменился с подробной страницы. Но после того, как я вернусь из главного меню, я получил эти данные. ТАК, что я должен делать? Возможно ли снова получить начальный списокActivity, вернувшись с страницы Detali. –

+0

Невозможно диагностировать, в чем проблема, когда вы не отправили какой-либо код. – kaspermoerch

+0

Да Вы правы. Но я просто хочу, чтобы перезапустить эту активность, пока я возвращаюсь к этой активности. –

1
  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); 
    } 
    
+0

ok Позвольте мне попробовать вашу вторую идею. И с вашей первой идеей я не связываю или не обновляю данные в списке. Итак, как это сделать. –

+0

Finishimg ListActivity и запустите его снова из деталей. Работа - неправильная идея для моего приложения. Итак, какая еще возможность получить данные? –

+0

, тогда вам нужно сделать только 1-й. просто сопоставьте новый адаптер в onStart с вашим списком. он должен решить вашу проблему. В качестве альтернативы вы также можете начать свое новое действие с помощью функции startActivityFOrResult и в onActivityResult связать новый адаптер с вашим списком. – Abhinava

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

  • Нет связанных вопросов^_^