Saya tahu ini adalah respons yang terlambat tetapi saya menghadapi masalah yang sama dan saya berhasil menyelesaikannya dengan menggunakan notifyDataSetChanged()
di tempat yang tepat.
Jadi situasiku adalah sebagai berikut.
Saya harus memperbarui tampilan daftar di tab bilah tindakan (fragmen) dengan konten yang dikembalikan dari aktivitas yang sama sekali berbeda. Namun pada awalnya, listview tidak akan mencerminkan perubahan apa pun. Namun, ketika saya mengklik tab lain dan kemudian kembali ke tab yang diinginkan, tampilan daftar akan diperbarui dengan konten yang benar dari aktivitas lain. Jadi untuk menyelesaikan ini saya gunakannotifyDataSetChanged()
adaptor action bar dalam kode aktivitas yang harus mengembalikan data.
Ini adalah cuplikan kode yang saya gunakan dalam aktivitas.
@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).
}
}
Aktivitas ini akan mengembalikan beberapa data FragmentTab2
dan secara langsung akan memperbarui tampilan daftar saya FragmentTab2
.
Semoga seseorang menemukan ini berguna!