Download - Android – Criar uma ListActivity dentro de uma TabActivity

Transcript

Android Criar uma ListActivity dentro de uma TabActivityLucas Schiolin Silveira 20/05/2012 Neste artigo iremos falar sobre como criar uma lista de elementos de layout dentro de um controle de guias no Android. Esse resultado foi obtido no Android 2.1 (API 7). A ListActivity deve ser criada normalmente, como se fosse a activity principal do projeto. Alm disso, deve ser criado o adapter, herdado do BaseAdapter, para a ListActivity. Para esse exemplo, criaremos essa classe com o nome de MyListActivity. Ento, criar uma activity herdando a classe TabActivity. Nessa activity, o mtodo setContentLayout deve ser chamado passando um layout que contem um TabHost e um TabWidget, semelhante a este:

O evento OnCreate da classe herdeira de TabActivity deve ser semelhante a este:@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TabHost tabHost = getTabHost(); TabHost.TabSpec spec; // Inicializar a TabSpec para cada tab e adiciona-la ao TabHost spec = tabHost.newTabSpec("tab1").setIndicator("Tab 1", getResources().getDrawable(android.R.drawable.ic_dialog_info)) .setContent(new Intent().setClass(this, MyListActivity.class)); tabHost.addTab(spec); // Fazer o mesmo com as outra tab spec = tabHost.newTabSpec("tab2").setIndicator("Tab 2", getResources().getDrawable(android.R.drawable.ic_dialog_info)) .setContent(new Intent().setClass(this, MyListActivity.class)); tabHost.addTab(spec);

}

Perceba que estamos adicionando a mesma ListActivity criada (MyListActivity) nas duas tabs criadas, e se essa classe j foi configurada corretamente, j possvel executar a aplicao e as listas estaro criadas dentro das tabs.