Android 片段中的TabHost
我正在尝试在Fragement中添加TabHost布局:Android 片段中的TabHost,android,android-fragments,Android,Android Fragments,我正在尝试在Fragement中添加TabHost布局: public class FriendsTabFregment extends Fragment { private TabHost tab; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View
public class FriendsTabFregment extends Fragment {
private TabHost tab;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.activity_friends, container, false);
tab = (TabHost) view.findViewById(R.activity_friends.tab);
return view;
}
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addNewTab("Friends", BasicFragment.class, savedInstanceState); //Chat Tab
setTabHeight(50);
}
由于某种原因,我得到的标签为空。
这是我的XML:
<TabHost android:id="@+activity_friends/tab"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="4">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<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"/>
</LinearLayout>
</TabHost>
</LinearLayout>
知道为什么吗?将您的
选项卡主机的id定义为
android:id="@+id/activity_friends_tab"
然后发现它是这样的:
tab = (TabHost) view.findViewById(R.id.activity_friends_tab);
请看这篇文章,进一步了解“@+id/”
当我没有使用Fragment时,它是如何工作而没有问题的?在使用Fragment时,您是否将其替换为@+id/
?