我直接从教程中获得了一个布局XML文件:
布局/ partnertrial_summary.xml
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dp" />
</LinearLayout>
</TabHost>
在我的Activity
课程中,我尝试使用以下代码,但如果失败:
mTabHost = findViewById(R.layout.partnertrial_summary.tabhost);
失败了。但是,它会验证绿色中的R.layout.partnertrial_summary
部分,但是当我尝试自动弹出partnertrial_summary
的成员时,它不会产生任何效果。
我认为XML是有效的,因为它直接来自Android,所以这是我在我的方面做错了。请注意,我的Activity
不是TabActivity
,但我认为可以使用常规版本并添加TabHost
,以实现相应的侦听器。如果我的想法错了,请纠正我。
答案 0 :(得分:1)
mTabHost = findViewById(R.layout.partnertrial_summary.tabhost);
将以上内容替换为
LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.partnertrial_summary,null);
mTabHost = (TabHost)view.findViewById(R.id.tabhost);
布局可以膨胀,但使用findViewById()
无法找到