我在“system / app”上安装我的程序时出错。当我使用“数据/应用程序”时,它运行良好。 这是错误:
android.view.InflateException: Binary XML file line #19: Error inflating class android.widget.ImageButton
E/AndroidRuntime( 2076): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
E/AndroidRuntime( 2076): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
E/AndroidRuntime( 2076): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
E/AndroidRuntime( 2076): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
E/AndroidRuntime( 2076): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 2076): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 2076): at android.app.ActivityThread.main(ActivityThread.java:3647)
E/AndroidRuntime( 2076): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 2076): at java.lang.reflect.Method.invoke(Method.java:507)
E/AndroidRuntime( 2076): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
E/AndroidRuntime( 2076): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/AndroidRuntime( 2076): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 2076): Caused by: android.view.InflateException: Binary XML file line #19: Error inflating class android.widget.ImageButton
E/AndroidRuntime( 2076): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
E/AndroidRuntime( 2076): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime( 2076): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
E/AndroidRuntime( 2076): at android.app.Activity.setContentView(Activity.java:1657)
E/AndroidRuntime( 2076): at com.pniei.filemanager.Main.onCreate(Main.java:125)
E/AndroidRuntime( 2076): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 2076): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
E/AndroidRuntime( 2076): ... 11 more
E/AndroidRuntime( 2076): Caused by: java.lang.reflect.InvocationTargetException
E/AndroidRuntime( 2076): at java.lang.reflect.Constructor.constructNative(Native Method)
E/AndroidRuntime( 2076): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
E/AndroidRuntime( 2076): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
E/AndroidRuntime( 2076): ... 24 more
E/AndroidRuntime( 2076): Caused by: android.content.res.Resources$NotFoundException: Resource is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f02000e a=-1 r=0x7f02000e}
E/AndroidRuntime( 2076): at android.content.res.Resources.loadDrawable(Resources.java:1681)
E/AndroidRuntime( 2076): at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
E/AndroidRuntime( 2076): at android.widget.ImageView.<init>(ImageView.java:118)
E/AndroidRuntime( 2076): at android.widget.ImageButton.<init>(ImageButton.java:85)
E/AndroidRuntime( 2076): at android.widget.ImageButton.<init>(ImageButton.java:81)
E/AndroidRuntime( 2076): ... 27 more
这是我的代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/offWhite">
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="none">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/offWhite"
android:gravity="center">
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="6dp"
android:layout_marginRight="2dp"
android:layout_marginTop="6dp"
android:src="@drawable/back"
android:id="@+id/back_button" />
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="6dp"
android:layout_marginRight="2dp"
android:layout_marginTop="6dp"
android:src="@drawable/device_access_sd_storage"
android:id="@+id/home_button"/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="6dp"
android:layout_marginRight="2dp"
android:layout_marginTop="6dp"
android:src="@drawable/collections_view_as_list"
android:id="@+id/multiselect_button"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center_vertical">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="14dp"
android:id="@+id/storage_label"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="14dp"
android:text="путь"
android:id="@+id/path_label"/>
<TextView
android:id="@+id/detail_label"
android:textColor="@color/brightRed"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="14px"
android:gravity="center"/>
</LinearLayout>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
我没有想法,它有什么用。我使用Android 2.3和IntelliJ IDEA Community Edition 12.0.4。
答案 0 :(得分:1)
在ImageButton
需要替换
android:src="@drawable/back"
至app:srcCompat="@drawable/back"
并添加到您的Gradle文件
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
答案 1 :(得分:0)
您确定{draw我文件夹中的back
,device_access_sd_storage
和collections_view_as_list
都是png图片吗?它抱怨这些ID中的一个或多个是无效的。
答案 2 :(得分:0)
在上面的xmlfile中,如果没有尝试添加此行,我的根布局上没有找到xmlns:tools="http://schemas.android.com/tools"
。
答案 3 :(得分:0)
我希望我的回答仍然可以帮助某人。我在 Android 6.0 中遇到了同样的问题,错误是因为 ImageButton 的属性android: background< /strong> 或 android: src 因为在这些中您可以参考 drawable,在那里触发问题,从 Android Studio 1.4 开始,用于处理设计元素 (v21)、(v24) 等, 并且不正确地将图像或背景放入 drawable 文件夹中是很常见的。
<块引用>资源
--- 可绘制
--- 可绘制(-v21)
--- 可绘制(-v24)
此问题可能发生在任何使用 android:background 或 android:src 属性引用 drawable 文件夹的对象中。 >
解决方案:
在示例的ImageButtons中,其属性android:src中,指的是back和device_access_sd_storage >
<块引用>
<图像按钮
.....
android:src="@drawable/back"
.....
<图像按钮
.....
android:src="@drawable/device_access_sd_storage"
....
我们在这些目录drawable (-v21), drawable (-v24), ....中寻找这些元素back和device_access_sd_storage >
<块引用>资源
--- 可绘制(-v21)
--- 可绘制(-v24)
然后我们将它复制或移动到这个目录drawable
<块引用>资源
--- 可绘制\
我们再次运行APP,错误就解决了。