0
我已經使用TabHost
來顯示2個選項卡。在其中一個選項卡上,有一個自定義列表。 我不知道如何在另一個選項卡上顯示相同的自定義列表,但使用不同的數據。我也在另一個選項卡中放置了一個ListView
。但之後該怎麼辦?我是否需要重新編寫整個代碼?或者我是否需要重寫OnTabChangedListener
方法。 XML:使用TabHost在兩個選項卡上的相同自定義列表,但數據不同
<TabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
</ListView>
</RelativeLayout>
<RelativeLayout
android:id="@+id/tab2"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" >
</ListView>
</RelativeLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
驗證碼:
public class Contacts extends ListActivity
{
private TabHost thCont;
private String TAB_1_TAG = "tag1";
private String TAB_2_TAG = "tag2";
private int[] imagesId1 = {R.drawable.praneel, R.drawable.saakshi, R.drawable.arjun, R.drawable.rishi, R.drawable.nisarg, R.drawable.ankit, R.drawable.sharad};
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contacts2);
thCont = (TabHost) findViewById(R.id.tabhost);
thCont.setup();
TabSpec specs;
// Tab1
specs = thCont.newTabSpec(TAB_1_TAG);
specs.setContent(R.id.tab1);
specs.setIndicator("Managing Team");
thCont.addTab(specs);
// Tab 2
specs = thCont.newTabSpec(TAB_2_TAG);
specs.setContent(R.id.tab2);
specs.setIndicator("Heads");
thCont.addTab(specs);
setListAdapter(new MyAdapter(Contacts.this, android.R.layout.simple_list_item_1, R.id.textView1, getResources().getStringArray(R.array.contacts_list)));
}
這事以後,是用於自定義列表擴展ArrayAdapter
一個子類。我沒有顯示那部分。
這是一個偉大的教程,但我不想要選擇器選項。我想不這樣做。讓我試試這個並回到你身邊。 – rockydgeekgod
是的,你可以逃避它,當你必須改變標籤的圖像,而點擊標籤時,它是必要的。 –
我跟着代碼。但得到一個錯誤 '09-20 21:54:50.759:E/AndroidRuntime(2909):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.rakeshsarangi.petrofiesta2013/com.rakeshsarangi.petrofiesta2013.MainContacts}:java .lang.IllegalArgumentException:您必須指定一種方法來創建選項卡指示符。 ' – rockydgeekgod