【问题标题】:Unable to use checkbox in eclipse with android adt plugin无法在 Eclipse 中使用带有 android adt 插件的复选框
【发布时间】:2016-06-26 22:01:52
【问题描述】:

我是一个新手 android 应用程序开发人员,真的是初学者。我尝试在 Eclipse IDE 的 xml 布局上创建一个复选框,由于某种原因,当我运行应用程序时,它只是崩溃了。

它说找不到资源。以下是logcat:

     03-11 20:39:47.167: E/AndroidRuntime(24934): FATAL EXCEPTION: main
03-11 20:39:47.167: E/AndroidRuntime(24934): Process: com.example.checking, PID: 24934
03-11 20:39:47.167: E/AndroidRuntime(24934): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.checking/com.example.checking.MainActivity}: android.view.InflateException: Binary XML file line #13: Error inflating class android.widget.CheckBox
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread.access$800(ActivityThread.java:141)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.os.Handler.dispatchMessage(Handler.java:102)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.os.Looper.loop(Looper.java:136)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread.main(ActivityThread.java:5052)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at java.lang.reflect.Method.invokeNative(Native Method)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at java.lang.reflect.Method.invoke(Method.java:515)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at dalvik.system.NativeStart.main(Native Method)
03-11 20:39:47.167: E/AndroidRuntime(24934): Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class android.widget.CheckBox
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.createView(LayoutInflater.java:623)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:672)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.inflate(LayoutInflater.java:400)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.Activity.setContentView(Activity.java:1946)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at com.example.checking.MainActivity.onCreate(MainActivity.java:13)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.Activity.performCreate(Activity.java:5248)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164)
03-11 20:39:47.167: E/AndroidRuntime(24934):    ... 11 more
03-11 20:39:47.167: E/AndroidRuntime(24934): Caused by: java.lang.reflect.InvocationTargetException
03-11 20:39:47.167: E/AndroidRuntime(24934):    at java.lang.reflect.Constructor.constructNative(Native Method)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.view.LayoutInflater.createView(LayoutInflater.java:597)
03-11 20:39:47.167: E/AndroidRuntime(24934):    ... 24 more
03-11 20:39:47.167: E/AndroidRuntime(24934): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_btn_check_material.xml from drawable resource ID #0x7f020003
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.loadDrawable(Resources.java:2149)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:387)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.loadDrawable(Resources.java:2072)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.widget.CompoundButton.<init>(CompoundButton.java:74)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.widget.CheckBox.<init>(CheckBox.java:68)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.widget.CheckBox.<init>(CheckBox.java:64)
03-11 20:39:47.167: E/AndroidRuntime(24934):    ... 27 more
03-11 20:39:47.167: E/AndroidRuntime(24934): Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v11/abc_btn_checkbox_checked_mtrl.xml from drawable resource ID #0x7f020004
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.loadDrawable(Resources.java:2149)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:387)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.loadDrawable(Resources.java:2072)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.getDrawable(Resources.java:710)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:176)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:939)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.graphics.drawable.Drawable.createFromXml(Drawable.java:879)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.createFromXml(Resources.java:2525)
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.content.res.Resources.loadDrawable(Resources.java:2145)
03-11 20:39:47.167: E/AndroidRuntime(24934):    ... 33 more
03-11 20:39:47.167: E/AndroidRuntime(24934): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector
03-11 20:39:47.167: E/AndroidRuntime(24934):    at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:9

谁能帮我解决这个问题。

【问题讨论】:

    标签: android xml checkbox android-support-library android-vectordrawable


    【解决方案1】:

    我假设您已更新到支持库的 v23.2。我做了同样的事情,我遇到了同样的问题。这是我修复它的方法,希望它对你也有用。

    1) 从 Android 工具库更新到最新版本的 Gradle(发布时为 1.5.0):确保您的 Build.gradle 文件(所有模块之外的文件)中有此版本。 em>

    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'
    }
    

    2) 如果您使用的是 Android Studio 1.4,请阻止它在运行时从矢量可绘制对象生成 .png 文件,并使用支持库 support-vector-drawable 和 animated-vector-drawable 来执行相反。将此添加到您的“应用”模块内的 Build gradle 中

    android {      
       defaultConfig {  
         generatedDensities = []
       }  
    
       aaptOptions {  
          additionalParameters "--no-version-vectors"     
       }
     }
    

    另请参阅http://android-developers.blogspot.in/2016/02/android-support-library-232.html

    【讨论】:

    • 谢谢!我刚刚安装了几个以前版本的 SDK 工具(除了最新的版本 - 23),它工作正常。我能够在设备上运行我的应用程序并且复选框工作得很好。再次感谢!
    • 很高兴您的问题得到解决。但是,如果您想使用最新版本的支持库,这将起作用。我将不胜感激,或者您是否可以将其标记为答案。其他人可能也会觉得这很有用。
    【解决方案2】:

    将 Android 设计支持库 (com.android.support:design) 从 23.2.0 升级到 23.2.1 可能有助于解决问题。

    【讨论】:

      【解决方案3】:

      将支持库升级到最新版本 (23)。

      由 android.content.res.Resources$NotFoundException 引起的这个异常:文件 res/drawable/abc_btn_check_material.xml,这是来自支持库的最新版本的元素

      如果你是 Android 初学者,我认为你必须迁移到 AndroidStudio,Eclipse 在 2015 年 12 月停止支持 google

      PD:对不起我的英语

      【讨论】:

      • 感谢罗萨里奥的建议。我很快就会迁移到 AndroidStudio。然而,与此同时,我已经安装了最新的支持库。然而,它不起作用。我卸载并重新安装了eclipse和adt插件,但到目前为止没有影响。
      • 如果您的支持库是实际版本(23),请尝试再次将其导入eclipse,然后创建对您的项目的引用,新版本所需文件未更新,因此您必须重新导入库
      • schemas.android.com/apk/res/android" xmlns:tools="schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" 工具:context="com.example.checking.MainActivity" >
      • 嘿,谢谢,我解决了这个问题,只安装了几个旧版本就可以了!
      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 2012-04-03
      • 1970-01-01
      • 2016-09-06
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多