0

我曾经TabHost显示 2 个选项卡。在其中一个选项卡上,有一个自定义列表。我不知道如何在另一个选项卡上显示相同的自定义列表,但使用不同的数据。我也在ListView另一个选项卡中放置了一个。但在那之后该怎么办?我需要重新编写整个代码吗?还是我需要重写该OnTabChangedListener方法。XML:

<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为自定义列表扩展的子类。我没有展示那部分。

4

1 回答 1

1

[1]:http ://androidrises.blogspot.in/2012/10/tabactivity-example.html 查看此链接并按照其中的说明制作两个选项卡,并为两个选项卡使用相同的自定义适配器,如果任何问题仍然存在然后告诉我

于 2013-10-07T09:11:18.670 回答