Sei que esta é uma resposta tardia, mas estava enfrentando um problema semelhante e consegui resolvê-lo usando notifyDataSetChanged()
no lugar certo.
Então, minha situação era a seguinte.
Eu tive que atualizar uma exibição de lista em uma guia da barra de ação (fragmento) com o conteúdo retornado de uma atividade completamente diferente. Inicialmente, no entanto, a exibição de lista não refletia nenhuma alteração. No entanto, ao clicar em outra guia e retornar à guia desejada, a exibição da lista seria atualizada com o conteúdo correto da outra atividade. Então, para resolver isso, usei notifyDataSetChanged()
o adaptador da barra de ação no código da atividade que teve que retornar os dados.
Este é o trecho de código que eu usei na atividade.
@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).
}
}
Essa atividade retornaria alguns dados FragmentTab2
e atualizaria diretamente minha listview em FragmentTab2
.
Espero que alguém ache isso útil!