1

コードを使用して作成した特定のビューを表示するタブを作成したいと思います。これで、ビューをTabHostに渡すことができますが、IDのみです。

そこで、プログラムで作成したビューにランダムなID、たとえば1001を割り当てようとしました-

TabHost th = getTabHost();
View v=getMyView(); v.setId(1001);
th.addTab(th.newTabSpec("tab1").setIndicator("Monthly").setContent(v.getId()));

ビュー番号1001がないというメッセージを表示してこれを実行すると、強制終了が発生します。

TabHostまたはタブ付きインターフェイスで自分で生成したビューを使用できる他の方法はありますか?

4

1 に答える 1

3

TabHost.TabContentFactorysetContent()を受け取るオーバーロードされたメソッドのバージョンを使用する必要があります。

th.addTab(th.newTabSpec("tab1")
    .setIndicator("Monthly")
    .setContent(new TabHost.TabContentFactory() {
        @Override
        public View createTabContent(String tag) {
            if (tag.equals("tab1")) {
                return getMyView();
            }
            return null;
        }));
于 2012-06-20T17:04:41.777 に答える