0

我正在尝试在 Fragment 中添加 TabHost 布局:

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>

知道为什么吗?

4

1 回答 1

0

将您TabHost的 id 定义为

android:id="@+id/activity_friends_tab"

并像这样找到它:

tab = (TabHost) view.findViewById(R.id.activity_friends_tab);

看看这篇文章以进一步了解"@+id/"

“@+id”是什么意思?

安卓文档源

于 2012-09-05T14:53:10.380 回答