Jump to content

Recommended Posts

Posted

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!

=)

Posted

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

Posted

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.

Posted (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 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.