Java TabWidget中的Android gridView

Java TabWidget中的Android gridView,java,android,gridview,Java,Android,Gridview,我试图在我的Android tabWidget中用字符串填充简单的gridView。我有一个带有三个选项卡的tabHost,每个选项卡都在一个XML文件中描述了linearlayout。我试着在它下面有一个按钮和网格。最简单的方法是什么 当我尝试这样的事情时: <LinearLayout android:id="@+id/tab2" android:layout_width="fill_parent" android:layout_height="fill_pare

我试图在我的Android tabWidget中用字符串填充简单的gridView。我有一个带有三个选项卡的tabHost,每个选项卡都在一个XML文件中描述了linearlayout。我试着在它下面有一个按钮和网格。最简单的方法是什么

当我尝试这样的事情时:

<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);
}
@覆盖
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
字符串[]项={“lorem”、“ipsum”、“dolor”、“sit”、“amet”,
“奉献者”、“献祭者”、“精英”、“摩比”、“等级”,
“ligula”、“vitae”、“arcu”、“aliquet”、“mollis”,
“etiam”、“vel”、“erat”、“Placelat”、“ante”,
“波尔蒂托”、“苏打水”、“佩伦茨克”、“奥古斯”、“普卢斯”};
downloadXML=(按钮)findViewById(R.id.downloadBtn);
GridView网格=(GridView)findViewById(R.id.grid);
setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,items));
TabHost tabs=(TabHost)findviewbyd(R.id.TabHost);
tabs.setup();
TabHost.TabSpec spec=tabs.newTabSpec(“tag1”);
规格设置内容(R.id.tab1);
规格设定指示器(“kalkulator”);
tabs.addTab(spec);
规格=制表符新标签(“tag2”);
规格设置内容(R.id.tab2);
规格设置指示器(“kurs walut”);
tabs.addTab(spec);
规格=制表符新标签(“tag3”);
规格设置内容(R.id.tab3);
规格设定指示器(“konwerter”);
tabs.addTab(spec);
}

在我的第二个选项卡中只有一个按钮可见。

使用下面的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>

使用下面的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>