在我的应用程序中,我想要执行以下操作,首先我要检查是否有一个框架,可以将详细信息片段直接嵌入到包含的UI中(它返回false,我不知道为什么这样我假设它是真的任何方式..)在运行时我有一个运行时间 异常,在res文件中我有2个文件夹用于布局,第一个用普通名称布局和fragment_layout xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/a_item"
android:layout_width="match_parent" android:layout_height="match_parent">
<fragment class="com.example.tst_frag.TitlesFragment"
android:id="@+id/titles"
android:layout_width="match_parent" android:layout_height="match_parent" />
</FrameLayout>
我创建的第二个文件夹是layout-land文件夹,其中包含fragment_layout xml flie,代码如下:
<fragment class="com.example.tst_frag.TitlesFragment"
android:id="@+id/titles" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent" />
<FrameLayout android:id="@+id/details" android:layout_weight="1"
android:layout_width="0px" android:layout_height="match_parent"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
这是logcat消息:
08-12 11:21:16.568: E/AndroidRuntime(278): FATAL EXCEPTION: main
08-12 11:21:16.568: E/AndroidRuntime(278): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.tst_frag/com.example.tst_frag.MainActivity}: java.lang.IllegalArgumentException: No view found for id 0x7f080002 (com.example.tst_frag:id/details) for fragment DetailsFragment{45f4d648 #1 id=0x7f080002}
08-12 11:21:16.568: E/AndroidRuntime(278): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.os.Handler.dispatchMessage(Handler.java:99)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.os.Looper.loop(Looper.java:123)
08-12 11:21:16.568: E/AndroidRuntime(278): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-12 11:21:16.568: E/AndroidRuntime(278): at java.lang.reflect.Method.invokeNative(Native Method)