HI,
Vou contar um pouco da história primeiro.
Resolvi colocar uma opção de busca em uma ListActivity. Coisa simples, apenas um like no whera da query de pesquisa. Fazia um busca e não atualizava a tela e quando eu pressionava algum item dava erro. É que a query não retornava nada e dava erro, só percebi que a query não tava retornando nada depois de um bom tempo. Para atualizar eu precisava usar o comando notifyDataSetChanged() (detalhe: se a query retorna algum registro, a tela era atualizada, a bronca era só quando não retornava registros)
Esse é o bloco de comandos que atualiza a tela, a list ou uma mensagem indicando que não retornou nada.
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Coloquei o comando notifyDataSetChanged() após o empty.setText("Listagem Vazia"); e ficou funcionando blz. Mas... quando fui testar num tablet e não tinha registro ainda, quando fui acessar a tela, deu erro de java.lang.NullPointerException. Fiquei sem entender um pouco por que fui testar no smartphone excluíndo todos os registro e mostrou a mensagem Listagem Vazia, mas quando sair e voltei pra tela, deu o mesmo erro. Pesquisando mais uma vez no google, encontrei a solução, graças a Deus e a quem colocou.
o bloco de comando ficou assim:
private final Handler handler = new Handler() {
@Override
public void handleMessage(final Message msg) {
progressDialog.dismiss();
if ((dias == null) || (dias.size() == 0)) {
empty.setText("Listagem Vazia");
if (mAdapter != null){
mAdapter.notifyDataSetChanged();
}
} else {
mAdapter = new MyCustomAdapter();
setListAdapter(mAdapter);
}
}
};
Achei aqui
Android java.lang.RuntimeException: Unable to resume activity
http://stackoverflow.com/questions/10897551/android-java-lang-runtimeexception-unable-to-resume-activity
foi preciso colocar um teste para saber se o adapter era null.
Agora tá 100% o lance da pesquisa
Fiquem na Paz!!!
Nenhum comentário:
Postar um comentário