3

尽管我使用的是兼容性库,但我看到 android.view.fragment 的类未找到异常。编译正常但崩溃。在 3.0 之前我应该​​使用另一个包吗?我已经将所有片段类更改为 android.support.v4.app.Frament 但由于布局中的内容,它仍然崩溃。我的 SDK 是 4.03,但设备是 2.3。

这是布局

    <?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<fragment
    android:id="@+id/frag_series"
    android:layout_width="200dip"
    android:layout_height="match_parent"
    android:layout_marginTop="?android:attr/actionBarSize"
    class="com.authorwjf.hello_fragments.ListFrag" />
<fragment
    android:id="@+id/frag_capt"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    class="com.authorwjf.hello_fragments.DetailFrag" />
</LinearLayout>

日志猫:

08-08 14:53:21.644: E/AndroidRuntime(13056): Caused by: android.view.InflateException:     Binary    XML file line #6: Error inflating class fragment
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:200)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.app.Activity.setContentView(Activity.java:1647)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at com.authorwjf.hello_fragments.Main.onCreate(Main.java:11)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
08-08 14:53:21.644: E/AndroidRuntime(13056):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
08-08 14:53:21.644: E/AndroidRuntime(13056):    ... 11 more
08-08 14:53:21.644: E/AndroidRuntime(13056): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/data/app/com.authorwjf.hello_fragments-2.apk]
08-08 14:53:21.644: E/AndroidRuntime(13056):    at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
4

5 回答 5

3

在布局 XML 中执行相同操作:

<android.support.v4.app.Fragment />

另外,注意大小写。

于 2012-08-08T22:07:34.130 回答
1

检查您的活动是否扩展了 FragmentActivity?准确地说是 android.support.v4.app.FragmentActivity...

于 2013-06-20T12:28:24.987 回答
0

我在使用片段标记时遇到了类似的问题,因为我在 FragmentActivity 中错过了对 super.onCreate() 的调用。添加它解决了问题:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}
于 2013-06-05T10:34:40.660 回答
0

我的 SDK 是 4.03,但设备是 2.3。

我也有这个问题。然后我知道当我们在低版本的设备上运行时,我们需要在构建路径中包含支持 jar (android.support.v4)。

将 Jar 包含到构建路径中后,我们还需要确保 jar 文件位于排序的顶部(使用 eclipse 的 Order 和 Export 选项)。

这两件事解决了我的问题..希望它有所帮助..

于 2013-09-10T06:15:41.337 回答
0

我遇到了同样的问题,这是解决方案。

使用您的片段的活动需要扩展FragmentActivity,而不仅仅是Activity.

在您的活动布局中,您仍然可以使用<fragment />而不是<android.support.v4.app.Fragment />

于 2014-05-12T22:54:57.370 回答