tintim_22 Posted October 4, 2012 at 10:14 AM Report #477708 Posted October 4, 2012 at 10:14 AM Bons dias, uma duvida daquelas mesmo, mas mesmo boas... mainActivity(listActivity) chama activity2 que faz operações em BD sqlite, regresso ao mainActivity, como faço refresh à listActivity? Obg pela ajuda! =)
KTachyon Posted October 4, 2012 at 10:25 AM Report #477711 Posted October 4, 2012 at 10:25 AM Assumindo que estás a utilizar um adapter, depois de actualizares os dados desse adapter, só tens que notificar os observers que houveram alterações: data_adapter.notifyDataSetChanged() “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
tintim_22 Posted October 4, 2012 at 11:54 AM Author Report #477729 Posted October 4, 2012 at 11:54 AM Assumindo que estás a utilizar um adapter, depois de actualizares os dados desse adapter, só tens que notificar os observers que houveram alterações: data_adapter.notifyDataSetChanged() @KYachyon, obg pela ajuda, mas podias ser mais especifico com um exemplo, porque ando a ler as "regras" e tou uma beca a navegar... obg.
KTachyon Posted October 4, 2012 at 12:09 PM Report #477730 Posted October 4, 2012 at 12:09 PM (edited) Tu tens uma ListActivity que, no fundo, não é mais que uma Activity que tem uma ListView. Essa ListView tem que ser populada (preenchida) de alguma forma, e a mais natural é através de um ListAdapter. Esse ListAdapter é um objecto de uma classe que implementa a interface Adapter. Sendo um interface, tens lá todos os métodos que podes implementar para gerir a forma como os dados são guardados no adapter e fornecidos à lista, para além de poderes criar uma subclasse e criar métodos que te permitam fazer a gestão interna da forma como achares mais conveniente. Portanto, a parte dos dados parece-me que fica explicada e bastante bem referenciada com a quantidade de links para a documentação que coloquei. A parte de obrigares a lista a fazer refresh é a parte mais simples de todas. Tu quando estás a inicializar a ListActivity, atribuis um adapter à lista (ListView), com código como este: setListAdapter(this.data_adapter); Isto faz com que a lista passe a ser um Observer do adapter. Logo, tu fazes o que tens a fazer para alterar os dados e depois chamas o método que notifica os Observers: data_adapter.setData(stuff); data_adapter.notifyDataSetChanged(); EDIT: Só mais uma informação. Na vasta maioria dos casos, o ListAdapter não é realmente útil. Basicamente qualquer classe que implemente o Adapter serve para popular uma ListView. Aquele que achares que é mais conveniente é aquele que deves utilizar. Edited October 4, 2012 at 12:14 PM by KTachyon “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now