0

5 つ以上のタブを持つアプリを作成しています。冗長性を避けるために、これらのタブをループで作成したいと考えています。ただし、レイアウト コンポーネントを .java ファイルのタブにアタッチするための構文を理解するのは困難です。コードは次のとおりです。

    myTabs.setup();

    for(int i=0;i<10;i++)
    {
        TabSpec tabSpecs = myTabs.newTabSpec("tag"+i);

        tabSpecs.setContent(R.id.imageView+i); // error here

        myTabs.addTab(tabSpecs);
    }

これはばかげた質問かもしれませんが、皆さんからの助けを得られることを願っています.

よろしく

4

1 に答える 1

0

間違ったビュー ID を使用しているという問題。生成された R クラスの id のみを使用する必要があります。setContent メソッドについて読んで、次のことを試してください。異なるビューをアタッチする場合は、ビュー ID のリストを作成する必要があります。

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(R.id.R.id.imageView1);
list.add(R.id.R.id.imageView2);
list.add(R.id.R.id.imageView3);

 for(int i=0;i<2;i++)
 {
        TabSpec tabSpecs = myTabs.newTabSpec("tag"+i);
        tabSpecs.setContent(list.get(i)); 
        myTabs.addTab(tabSpecs);
 }

ただし、リソース フォルダーにすべての imageView を定義する必要があります。また、この例を見ることもできます。

例を見ると、tab1、tab2、および tab3 が表示されます。ID は XML ファイルで定義されているため、IDE は R クラスを生成し、それらの ID を含めます。

于 2013-06-21T10:40:59.210 に答える