【问题标题】:force close and android.view.InflateException on tablet在平板电脑上强制关闭和 android.view.InflateException
【发布时间】:2012-12-27 23:05:07
【问题描述】:

出于某种原因,每当我尝试启动我的片段时,都会收到以下错误:

12-27 16:54:52.345: D/OpenGLRenderer(4506): Enabling debug mode 0
12-27 16:54:53.775: D/AndroidRuntime(4506): Shutting down VM
12-27 16:54:53.775: W/dalvikvm(4506): threadid=1: thread exiting with uncaught exception (group=0x40be4930)
12-27 16:54:53.785: E/AndroidRuntime(4506): FATAL EXCEPTION: main
12-27 16:54:53.785: E/AndroidRuntime(4506): java.lang.RuntimeException: Unable to start activity ComponentInfo{info.twfs.thewholefnshow/info.twfs.thewholefnshow.ILikeWrestlingActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.os.Looper.loop(Looper.java:137)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread.main(ActivityThread.java:5039)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.reflect.Method.invokeNative(Native Method)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.reflect.Method.invoke(Method.java:511)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at dalvik.system.NativeStart.main(Native Method)
12-27 16:54:53.785: E/AndroidRuntime(4506): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:270)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.Activity.setContentView(Activity.java:1881)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at info.twfs.thewholefnshow.ILikeWrestlingActivity.onCreate(ILikeWrestlingActivity.java:16)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.Activity.performCreate(Activity.java:5104)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
12-27 16:54:53.785: E/AndroidRuntime(4506):     ... 11 more
12-27 16:54:53.785: E/AndroidRuntime(4506): Caused by: java.lang.NullPointerException: name == null
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.VMClassLoader.findLoadedClass(Native Method)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:354)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.ClassLoader.loadClass(ClassLoader.java:491)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.support.v4.app.Fragment.instantiate(Fragment.java:391)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.support.v4.app.Fragment.instantiate(Fragment.java:369)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:272)
12-27 16:54:53.785: E/AndroidRuntime(4506):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
12-27 16:54:53.785: E/AndroidRuntime(4506):     ... 21 more

让我感到困惑的是,这只发生在我的平板电脑上运行应用程序时,而不是我的手机上。我试图完全替换 XML,并得到同样的错误。我检查了清单,名称或其他任何内容都没有错误。

关于什么可能导致此错误的任何想法?

【问题讨论】:

    标签: android xml eclipse exception inflate


    【解决方案1】:

    ILikeWrestlingActivity 类中,您可以扩展 xml 布局。此 xml 布局将放置在您项目的文件夹 res/layout-sw600 or something 中。

    在这个文件的第 7 行中,您使用了一个没有 android:name 属性的片段。

    【讨论】:

    • 我在任何 xml 文件中都没有“android:name”属性,这有什么关系?此外,添加了属性后,我仍然会收到错误消息。如前所述,该应用可以在我的手机上正常启动,但在我的平板电脑上却不行。
    • 问题是您的应用在手机和平​​板电脑上使用的布局不同。这就是它在android上的工作方式。因此,在平板电脑使用的布局文件中,片段缺少属性。看一个例子(这里例如:developer.android.com/guide/components/fragments.html)。您将看到每个片段必须 有一个名称属性,这就是您指示哪个类用作片段的方式。如果不指定其名称属性,我看不到片段如何工作。
    【解决方案2】:

    原来这只是 XML 文件的一些奇怪错误。我用不同的文件名制作了 XML 文件的副本,改为使用该文件进行扩展,现在它就像一个魅力。

    我不太确定是什么修复了它,但我已经让它工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多