domingo, 21 de fevereiro de 2010

ListActivity e emptyView

Olá povo,

Queria estar atualizando o blog com mais frequência, porém o mestrado está me tomando muito tempo. Além disso, nesses dois primeiros meses estava escrevendo dois artigos para a Revista Web Mobile que deve ser publicado nas próximas edições. Não bastasse o trabalho de 8 horas diárias, também estava dando aulas de Android na Especializa Treinamentos três vezes por semana. Ou seja, uma correria danada :)

Agora estou com uma turma aos sábados, e na última aula surgiu a dúvida de como colocar um texto caso uma ListActivity não tiver dados a serem exibidos. Procurei na própria aula e não achei. Então vou registrar aqui.

Basicamente o que precisamos fazer é criar um arquivo de layout que contenha um LinearLayout, e dentro dele uma ListView com o id @android:id/list para exibir os dados e qualquer subclasse de View com o id @android:id/empty para informar ao usuário que a lista está vazia. Veja a listagem abaixo:


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@android:id/list" />

<TextView
android:id="@android:id/empty"
android:text="Lista vazia"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>


Pronto! Depois, basta chamar o método setContentView na sua ListActivity.


public class ExemploListActivity extends ListActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.lista_personalizada);
}
// Mais código aqui...
}


4br4ç05,
nglauber

Nenhum comentário: