0

フラグメント内に 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);       
    }

何らかの理由で、タブがnullになります。これは私の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」とはどういう意味ですか?

Androidドキュメントソース

于 2012-09-05T14:53:10.380 に答える