スクロール可能なタブ アクティビティ内で使用するために、アクティビティをフラグメントに変更していました。しかし、私はこの例外を受け取り、このフラグメントをロードします:
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;
}
// ...
}
エラーはフラグメントにあります。古いアクティビティが彼の中に 2 つのフラグメントをロードしたことが原因だと思います。
どうすれば解決できますか?
更新: 完全なフラグメント xml データを追加しました