Я знаю, что это запоздалый ответ, но я столкнулся с аналогичной проблемой, и мне удалось ее решить, используя notifyDataSetChanged()
в нужном месте.
Итак, моя ситуация была следующей.
Мне пришлось обновить список на вкладке панели действий (фрагмент) с содержимым, возвращенным из совершенно другого действия. Однако вначале список изменений не отражал. Однако, когда я щелкнул другую вкладку, а затем вернулся на желаемую вкладку, список был обновлен с правильным содержанием из другого действия. Чтобы решить эту проблему, я использовал notifyDataSetChanged()
адаптера панели действий в коде действия, которое должно было возвращать данные.
Это фрагмент кода, который я использовал в упражнении.
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.action_new_forward:
FragmentTab2.mListAdapter.notifyDataSetChanged();//this updates the adapter in my action bar tab
Intent ina = new Intent(getApplicationContext(), MainActivity.class);
ina.putExtra("stra", values1);
startActivity(ina);// This is the code to start the parent activity of my action bar tab(fragment).
}
}
Это действие вернет некоторые данные в FragmentTab2
и напрямую обновит мой список в FragmentTab2
.
Надеюсь, кто-то сочтет это полезным!
person
mutp
schedule
18.09.2014