1

Android tabWidget に文字列で満たされたシンプルな gridView を持たせようとしています。3 つのタブを持つ tabHost があり、各タブには 1 つの XML ファイルに記述された線形レイアウトがあります。その下に 1 つのボタンとグリッドを配置しようとしています。これを達成する最も簡単な方法は何ですか?

私がこのようなことをしようとすると:

<LinearLayout
    android:id="@+id/tab2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>
<Button 
    android:id ="@+id/downloadBtn"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="pobierz waluty"
/>

<GridView
    android:id="@+id/grid"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:verticalSpacing="35px"
    android:horizontalSpacing="5px"
    android:numColumns="auto_fit"
    android:columnWidth="100px"
    android:stretchMode="columnWidth"
    android:gravity="center"
/>

そしてJavaでは:

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String[] items={"lorem", "ipsum", "dolor", "sit", "amet",
        "consectetuer", "adipiscing", "elit", "morbi", "vel",
        "ligula", "vitae", "arcu", "aliquet", "mollis",
        "etiam", "vel", "erat", "placerat", "ante",
        "porttitor", "sodales", "pellentesque", "augue", "purus"};

    downloadXML = (Button)findViewById(R.id.downloadBtn);

    GridView grid= (GridView)findViewById(R.id.grid);
    grid.setAdapter(new ArrayAdapter<String>   (this,android.R.layout.simple_list_item_1, items));

    TabHost tabs = (TabHost)findViewById(R.id.tabHost);
    tabs.setup();

    TabHost.TabSpec spec = tabs.newTabSpec("tag1");
    spec.setContent(R.id.tab1);
    spec.setIndicator("kalkulator");
    tabs.addTab(spec);

    spec= tabs.newTabSpec("tag2");
    spec.setContent(R.id.tab2);
    spec.setIndicator("kurs walut");
    tabs.addTab(spec);

    spec=tabs.newTabSpec("tag3");
    spec.setContent(R.id.tab3);
    spec.setIndicator("konwerter");
    tabs.addTab(spec);
}

2 番目のタブにはボタンしか表示されていません。

4

1 に答える 1

1

そのために以下のXMLを使用すると、問題が解決します

<LinearLayout
    android:id="@+id/tab2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button 
        android:id ="@+id/downloadBtn"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="pobierz waluty"/>

    <GridView
        android:id="@+id/grid"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"
        android:verticalSpacing="35px"
        android:horizontalSpacing="5px"
        android:numColumns="auto_fit"
        android:columnWidth="100px"
        android:stretchMode="columnWidth"
        android:gravity="center" />

</LinearLayout>
于 2012-12-22T05:32:10.150 に答える