0

我有一个在 vm 上运行良好的 android 项目,但是当我创建一个新项目和该项目中完全相同的文件然后将原始代码分别复制到文件时,该项目只是保持提示“不幸的是,*已停止”。为什么?错误信息如下:

09-21 22:57:09.166: E/AndroidRuntime(674): FATAL EXCEPTION: main
09-21 22:57:09.166: E/AndroidRuntime(674): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testfra/com.example.testfra.FragTestActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class Fragment
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.os.Handler.dispatchMessage(Handler.java:99)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.os.Looper.loop(Looper.java:137)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread.main(ActivityThread.java:4424)
09-21 22:57:09.166: E/AndroidRuntime(674):  at java.lang.reflect.Method.invokeNative(Native Method)
09-21 22:57:09.166: E/AndroidRuntime(674):  at java.lang.reflect.Method.invoke(Method.java:511)
09-21 22:57:09.166: E/AndroidRuntime(674):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
09-21 22:57:09.166: E/AndroidRuntime(674):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
09-21 22:57:09.166: E/AndroidRuntime(674):  at dalvik.system.NativeStart.main(Native Method)
09-21 22:57:09.166: E/AndroidRuntime(674): Caused by: android.view.InflateException: Binary XML file line #8: Error inflating class Fragment
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:691)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
09-21 22:57:09.166: E/AndroidRuntime(674):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.Activity.setContentView(Activity.java:1835)
09-21 22:57:09.166: E/AndroidRuntime(674):  at com.example.testfra.FragTestActivity.onCreate(FragTestActivity.java:12)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.Activity.performCreate(Activity.java:4465)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
09-21 22:57:09.166: E/AndroidRuntime(674):  ... 11 more
09-21 22:57:09.166: E/AndroidRuntime(674): Caused by: java.lang.ClassNotFoundException: android.view.Fragment
09-21 22:57:09.166: E/AndroidRuntime(674):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
09-21 22:57:09.166: E/AndroidRuntime(674):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-21 22:57:09.166: E/AndroidRuntime(674):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.createView(LayoutInflater.java:552)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:636)
09-21 22:57:09.166: E/AndroidRuntime(674):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
09-21 22:57:09.166: E/AndroidRuntime(674):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
09-21 22:57:09.166: E/AndroidRuntime(674):  ... 21 mor

e

4

2 回答 2

1

我将假设您正在为您的项目使用 Eclipse。

你可以尝试几件事。我发现将代码片段复制和粘贴到 eclipse 中有时会导致某些导入被自动插入。检查以确保您的导入正确并指向正确的文件。

除此之外,请尝试清理项目。单击项目-> 清理

最后,如果这两个都不起作用,您可以尝试右键单击您的文件。选择“Android 工具”,然后选择“修复项目属性”。

如果所有这些都不起作用,请确保您已包含您可能正在使用的任何其他依赖项。(jar文件等..)

希望这会有所帮助!

干杯!

于 2012-09-21T23:06:45.747 回答
0

这可能有几个原因。

首先,在执行此类操作之前,您必须“清理”构建缓存和预构建的二进制文件。

其次,您需要仔细检查您在传输中更改的任何内容(项目名称、项目目录等)是否没有绝对引用。

这是您最可能遇到的两个问题。

于 2012-09-21T23:06:42.680 回答