gpt4 book ai didi

java - TabHost.TabSpec 内容未出现

转载 作者:行者123 更新时间:2023-12-01 04:29:33 25 4
gpt4 key购买 nike

我的 Activity 布局之一中有一个 TabHost,有 4 个 TabSpec。我已将每个 TabSpec 的内容设置为不同的 LinearLayout,但只有第一个 TabSpec 实际显示 LinearLayout。我已经尝试了很多事情,但仍然无法弄清楚出了什么问题。这是我的代码:

 public class ConversionActivity extends Activity {
PhConversion phc = new PhConversion();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conversions);
TabHost th = (TabHost) findViewById(R.id.tabhost);
th.setup();
TabSpec spec1 = th.newTabSpec("TAB 1");
spec1.setContent(R.id.tab1);
spec1.setIndicator("pH");
TabSpec spec2 = th.newTabSpec("TAB 2");
spec2.setIndicator("Temp");
spec2.setContent(R.id.tab2);
TabSpec spec3 = th.newTabSpec("TAB 3");
spec3.setContent(R.id.tab3);
spec3.setIndicator("Length");
TabSpec spec4 = th.newTabSpec("TAB 4");
spec4.setContent(R.id.tab4);
spec4.setIndicator("Volume");
th.addTab(spec1);
th.addTab(spec2);
th.addTab(spec3);
th.addTab(spec4);

和 XML 代码:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:gesture-image="http://schemas.polites.com/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".ConversionActivity" >

<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:orientation="horizontal" >

<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="8"
android:orientation="vertical" >
</LinearLayout>
</LinearLayout>

<TabHost
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >

<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" >

<LinearLayout
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/given"
android:textSize="32sp" >
</TextView>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ph"
android:textSize="20sp" >
</TextView>

<CheckBox
android:id="@+id/phBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="disableOthersPH" >
</CheckBox>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/poh"
android:textSize="20sp" >
</TextView>

<CheckBox
android:id="@+id/pohBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="disableOthersPOH" >
</CheckBox>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/h"
android:textSize="20sp" >
</TextView>

<CheckBox
android:id="@+id/hBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="disableOthersH" >
</CheckBox>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/oh"
android:textSize="20sp" >
</TextView>

<CheckBox
android:id="@+id/ohBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="disableOthersOH" >
</CheckBox>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<EditText
android:id="@+id/phconvinput"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="5"
android:inputType="numberDecimal" >
</EditText>

<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:onClick="solveph"
android:text="@string/phsolvebutton" >
</Button>
</LinearLayout>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phsolution"
android:textSize="32sp" >
</TextView>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ph"
android:textSize="20sp" >
</TextView>

<TextView
android:id="@+id/phanswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/somespace"
android:textSize="20sp" >
</TextView>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/poh"
android:textSize="20sp" >
</TextView>

<TextView
android:id="@+id/pohanswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/somespace"
android:textSize="20sp" >
</TextView>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/h"
android:textSize="20sp" >
</TextView>

<TextView
android:id="@+id/hanswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/somespace"
android:textSize="20sp" >
</TextView>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/oh"
android:textSize="20sp" >
</TextView>

<TextView
android:id="@+id/ohanswer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/somespace"
android:textSize="20sp" >
</TextView>
</LinearLayout>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/phsolution"
android:textSize="32sp" >
</TextView>

<ImageView
android:id="@+id/what"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:src="@drawable/phschem" />
</LinearLayout>

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

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
android:textSize="32sp" >
</TextView>
</LinearLayout>

<LinearLayout
android:id="@+id/tab3"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
</LinearLayout>

<LinearLayout
android:id="@+id/tab4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
</LinearLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</TabHost>

我意识到选项卡 3 和 4 是空的,但即使选项卡 2 在我单击时仍然显示为空白,只有选项卡 1 显示了正确的 LinearLayout。

最佳答案

简而言之,tab1、tab2 和 tab3 的 LinearLayout 是 tab1 LinearLayout 的子级。 您的选项卡应该都是彼此的同级选项卡

以下一些其他项目也可能对您的布局有所帮助:

  1. 我不太确定为什么带有 android:id="@+id/linearLayout1"LinearLayout 存在,所以我将其删除;
  2. 您不需要在 TabHost 中使用 android:layout_alignParentLeftandroid:layout_alignParentTop 因为它已经与父级的宽度匹配并且高度,所以我会删除这些属性;
  3. 您正在 ImageView 上使用 android:layout_width="fill_parent"。相反,您应该使用 match_parent,因为 fill_parent 已弃用。请参阅http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html#attr_android:layout_height其中关于 fill_parent 的内容如下:

The view should be as big as its parent (minus padding). This constant is deprecated starting from API Level 8 and is replaced by match_parent.

关于java - TabHost.TabSpec 内容未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com