具有兼容库的Android Fragments

时间:2012-05-15 14:36:14

标签: android android-fragments android-support-library

我无法使其发挥作用。

我在这里找到了许多类似的问题,例子。但没有任何帮助,没有任何作用 有没有人在Android 2.2中使用android.support.v4库有一个工作片段? (如果你是请将它上传到某个地方。)

我差点哭,因为我找不到什么问题!

错误与许多人的错误相同:

05-15 18:20:20.583: W/dalvikvm(1521): Unable to resolve superclass of Lmy/fragment/test/FragmentTestActivity; (8)
05-15 18:20:20.583: W/dalvikvm(1521): Link of class 'Lmy/fragment/test/FragmentTestActivity;' failed
05-15 18:20:20.593: D/AndroidRuntime(1521): Shutting down VM
05-15 18:20:20.593: W/dalvikvm(1521): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
05-15 18:20:20.703: E/AndroidRuntime(1521): FATAL EXCEPTION: main
05-15 18:20:20.703: E/AndroidRuntime(1521): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{my.fragment.test/my.fragment.test.FragmentTestActivity}: java.lang.ClassNotFoundException: my.fragment.test.FragmentTestActivity in loader dalvik.system.PathClassLoader[/data/app/my.fragment.test-1.apk]
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.os.Looper.loop(Looper.java:123)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread.main(ActivityThread.java:4627)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at java.lang.reflect.Method.invokeNative(Native Method)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at java.lang.reflect.Method.invoke(Method.java:521)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at dalvik.system.NativeStart.main(Native Method)
05-15 18:20:20.703: E/AndroidRuntime(1521): Caused by: java.lang.ClassNotFoundException: my.fragment.test.FragmentTestActivity in loader dalvik.system.PathClassLoader[/data/app/my.fragment.test-1.apk]
05-15 18:20:20.703: E/AndroidRuntime(1521):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
05-15 18:20:20.703: E/AndroidRuntime(1521):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
05-15 18:20:20.703: E/AndroidRuntime(1521):     ... 11 more
05-15 18:20:23.423: I/Process(1521): Sending signal. PID: 1521 SIG: 9

解决!!!!谁在错误之前有这个警告:

05-16 10:08:00.033: W/dalvikvm(1695): Unable to resolve superclass of Lmy/fragment/test/FragmentTestActivity; (7)
05-16 10:08:00.076: W/dalvikvm(1695): Link of class 'Lmy/fragment/test/FragmentTestActivity;' failed

应该将android-support-v4导出到你的应用程序:

配置Java构建路径 - >订单和导出选项卡 - > 设置复选框android-support-v4.jar

(可能需要首先删除现有的)

它会将此库移动到您的apk(据我所知)

4 个答案:

答案 0 :(得分:4)

你应该有1个FragmentActivity里面有片段。你正在做的是尝试将活动(fragmentactivity)放在xml中。那不行。尝试只有1个顶级片段活动,然后将另一个片段放入片段,然后将这些片段放入xml中。

答案 1 :(得分:1)

因为你显然只是在了解这一点,所以我会扩展Warpzit的答案,试着帮助你(你应该接受他的答案,所以他得到了信任,因为它是正确的,他先回答)。

此:

public class DetailsActivity extends FragmentActivity 

需要这样:

public class DetailsActivity extends Fragment

您希望将其显示为第一个活动的一部分。

应该只有一个FragmentActivity,除非你要开始第二个活动(并留下第一个活动)也会有碎片,然后同样适用。

答案 2 :(得分:0)

为什么你有两个名为FragmentTestActivity的活动?或者只是写错误? 你有没有在清单中宣布它?

答案 3 :(得分:-1)

尝试将android:name="classpath"替换为class=""classpath