在Android上输入类片段时出错

时间:2015-11-14 14:58:41

标签: android android-fragments

我的应用程序有2个片段,一切正常,但我得到了 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp2.app/com.myapp2.app.MainActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class fragment当我在纵向屏幕上有fragment2时,将其更改为横向...

MainActivity.java:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    manager = getFragmentManager();
    f1 = (FragmentListView) getSupportFragmentManager().findFragmentById(R.id.fragment);
    if(f1 != null)
        f1.setCommunicator(this);

}

我的activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="0.0dp"
android:paddingRight="0.0dp"
android:paddingTop="0.0dp"
android:paddingBottom="0.0dp"
tools:context="com.myapp2.app.MainActivity">
<include
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    layout="@layout/content_main"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />
</RelativeLayout>

我的content_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="0.0pt"
android:paddingRight="0.0pt"
android:paddingTop="0.0pt"
android:paddingBottom="0.0pt"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_main" tools:context=".MainActivity">
<fragment
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:name="com.myapp2.app.FragmentListView"
    android:id="@+id/fragment"
    android:layout_gravity="right"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"/>
</RelativeLayout>

我的content_main.xml(大):

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="0.0pt"
android:paddingLeft="0.0pt"
android:paddingRight="0.0pt"
android:paddingTop="0.0pt"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/activity_main">
<fragment
    android:id="@+id/fragment"
    android:name="com.myapp2.app.FragmentListView"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_gravity="right" />
<fragment
    android:id="@+id/fragment2"
    android:name="com.myapp2.app.FragmentDetails"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="right"
    android:layout_weight="2" />

我已经读过如果我想在运行时更改片段,我必须有一个FragmentLayout,但如果我将@ id /片段更改为FragmentLayout,我的应用程序甚至无法启动...

有人知道它为什么会发生吗?

非常感谢。

0 个答案:

没有答案