我的应用程序有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,我的应用程序甚至无法启动...
有人知道它为什么会发生吗?
非常感谢。