Android – Criar uma ListActivity dentro de uma TabActivity

2
Android – Criar uma ListActivity dentro de uma TabActivity Lucas Schiolin Silveira – 20/05/2012 Neste artigo iremos falar sobre como criar uma lista de elementos de layout dentro 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 disso, deve ser criado o adapter, herdado do BaseAdapter , para a ListActivity . Para esse exemplo, criaremos essa classe com o nome de MyListActivity. Então, criar uma activity herdando a classe TabActivity . Nessa activity, o método setContentLayout deve ser chamado passando um layout que contem um TabHost e um TabWidget , semelhante a este: <?xml version="1.0" encoding="utf-8"?> < TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp"> < TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp" /> </LinearLayout> </ TabHost> 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 d criadas, e se essa classe já foi configurada corretamente, já é possível executar as listas estarão criadas dentro das tabs.

description

Este artigo apresenta configurações que devem ser observadas para configurar uma ListActivity dentro de uma TabActivity, no Android.

Transcript of Android – Criar uma ListActivity dentro de uma TabActivity

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.