0

我正在将 Activity 更改为 Fragment 以在 Scrollable Tab Activity 中使用。但是我得到了这个异常,我加载了这个片段:

FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #17: Error inflating class fragment
  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
  at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
  at com.zhensydow.demo.MainMenuFragment.onCreateView(MainMenuFragment.java:43)
  at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460)
    ....

加载的使用的(简化的)xml是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    ... >
  <fragment   <<---- LINE #17
    android:id="@+id/mlist"
    android:name="com.zhensydow.demo.MListFragment"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1"
    tools:layout="@android:layout/mcontent" />

    <FrameLayout ... />
</LinearLayout>

错误是在此代码中引起的:

public class MainMenuFragment extends Fragment implements
        MenuListFragment.Callbacks {

    // ...

    @Override
    public View onCreateView( LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
    {
        super.onCreateView(inflater, container, savedInstanceState);

        LinearLayout ll = (LinearLayout) inflater.inflate(
                R.layout.activity_main_menu, container, false);

        return ll;
    }

    // ...

}

错误在一个片段上,我认为这是因为旧活动在他体内加载了两个片段。

我该如何解决?

更新:添加了完整的片段 xml 数据

4

2 回答 2

1

我怀疑您的 Fragment 包含一些类似这样的代码,要求您的 Activity 实现回调接口,而您的 Activity 没有实现该接口。

于 2013-04-10T18:33:43.057 回答
0

标签必须fragment同时具有名称和 ID。

于 2013-04-10T17:40:25.667 回答