无法将View强制转换为<fragment> </fragment>

时间:2014-12-02 12:36:30

标签: android fragment

在我的xml中,我有以下代码:

    <fragment android:name="somepackage.Fragments.ToolbarFragment"
    android:id="@+id/toolbar_fragment"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

在我的代码中我有:

private ToolbarFragment toolbarFragment;
toolbarFragment = (ToolbarFragment) findViewById(R.id.toolbar_fragment);

我收到错误:“无法将android.view.View强制转换为somepackage.Fragments.ToolbarFragment”

为什么android将片段视为通用视图类型而不是我指定的片段类?

2 个答案:

答案 0 :(得分:13)

您正在呼叫findViewById()。这是为了找到View,例如小部件。

如果您想找到片段,请拨打findFragmentById()上的FragmentManager,通过调用getFragmentManager()(原生片段)或{{1}来获取在您的活动中(getSupportFragmentManager()support-v4的片段后退)。

答案 1 :(得分:3)

试试这种方式

somepackage.Fragments.ToolbarFragment  toolbarFragment = (somepackage.Fragments.ToolbarFragment) findFragmentById(R.id.toolbar_fragment);