Ola, estou criando um aplicativo que utiliza uma ListView para mostra um conjunto de itens, esses item são criados pelo usuário através de um DialogFragment, para chamar o Dialog existe um botão. O Dialog esta abrindo normalmente e salvando as informações no banco de dados.
O problema esta na hora de atualizar a ListView, quando o botão para chamar o Dialog é acionado, as duas funções são executadas paralelamente, uma para mostra o Dialog e outra para atualizar a ListView. Logo a ListView não é atualizada com o ultimo item criado, para atualizá-la é necessário acionar o botão novamente.
Minha duvida é se existe alguma forma de fazer com esses métodos sejam chamados de forma seqüencial?
Por exemplo: fazer com que a função para atualizar ListView seja chamada somende depois de o Dialog se fechado
Ola,
Quando voce manda abrir o dialog, o update tem que ser apenas nele.
quando voce salvar o objeto no dialog voce faz o update no form e no dialog.
Acontece que criei uma classe para o dialog
cad.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.i(TAG, “botao cadastro”);
ChamaJanela();
atualiza();
Log.i(TAG, “saindo botao cadastra”);
}
});
private void ChamaJanela()
{
Log.i(TAG, "ChamaJanela");
FragmentManager fm = getSupportFragmentManager();
JanelaCadastro janela = JanelaCadastro.newInstance("Cadastro de Produtos");
janela.setContext(context);
janela.show(fm,"janela");
}
e dentro dessa classe criei uma conexão com o banco de dados. Sera que não tem alguma forma de realizar a atualização sem ter que implementar o dialog na activity principal
No seu metodo onClick voce chama o metodo ChamaJanela e atualiza.
No caso esse atualiza é para o listview?
Se sim, esta no lugar errado, deveria chamar ele no botao ok do dialog.