每当我尝试在Android Studio 3中添加图片时,应用都会崩溃。请帮助。
logcat的:
12-02 01:13:14.289 10530-10530 /? E / AndroidRuntime:致命异常: main进程:com.divyam.demo2,PID:10530 java.lang.RuntimeException: 无法开始活动 ComponentInfo {com.divyam.demo2 / com.divyam.demo2.MainActivity}: android.view.InflateException:二进制XML文件行#0:二进制XML 文件行#0:错误使类ImageView at膨胀 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在android.app.ActivityThread.-wrap11(ActivityThread.java)处 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) 在android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)引起 by:android.view.InflateException:二进制XML文件行#0:二进制XML 文件行#0:错误使类ImageView at膨胀 android.view.LayoutInflater.inflate(LayoutInflater.java:539)at android.view.LayoutInflater.inflate(LayoutInflater.java:423)at android.view.LayoutInflater.inflate(LayoutInflater.java:374)at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在com.divyam.demo2.MainActivity.onCreate(MainActivity.java:16)at android.app.Activity.performCreate(Activity.java:6237)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在android.app.ActivityThread.-wrap11(ActivityThread.java)处 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) 在android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:android.view.InflateException:二进制XML文件行#0: 在类ImageView上输出错误 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在android.view.LayoutInflater.inflate(LayoutInflater.java:515)at android.view.LayoutInflater.inflate(LayoutInflater.java:423)at android.view.LayoutInflater.inflate(LayoutInflater.java:374)at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在com.divyam.demo2.MainActivity.onCreate(MainActivity.java:16)at android.app.Activity.performCreate(Activity.java:6237)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在android.app.ActivityThread.-wrap11(ActivityThread.java)处 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) 在android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 引起:android.content.res.Resources $ NotFoundException:资源 ID#0x7f060054 at android.content.res.Resources.getValue(Resources.java:1351)at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:330) 在 android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:195) 在 android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:188) 在 android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100) 在 android.support.v7.widget.AppCompatImageHelper.loadFromAttributes(AppCompatImageHelper.java:58) 在 android.support.v7.widget.AppCompatImageView。(AppCompatImageView.java:78) 在 android.support.v7.widget.AppCompatImageView。(AppCompatImageView.java:68) 在 android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:106)at at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024) 在 android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:746) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在android.view.LayoutInflater.rInflate(LayoutInflater.java:835)at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798) 在android.view.LayoutInflater.inflate(LayoutInflater.java:515)at android.view.LayoutInflater.inflate(LayoutInflater.java:423)at android.view.LayoutInflater.inflate(LayoutInflater.java:374)at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287) 在 android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139) 在com.divyam.demo2.MainActivity.onCreate(MainActivity.java:16)at android.app.Activity.performCreate(Activity.java:6237)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 在android.app.ActivityThread.-wrap11(ActivityThread.java)处 android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1344) 在android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:148)at android.app.ActivityThread.main(ActivityThread.java:5417)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)}
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.divyam.demo2.MainActivity"
tools:layout_editor_absoluteY="81dp">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="344dp"
android:text="Button"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="18dp"
app:layout_constraintBottom_toBottomOf="@+id/button2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/download" />
</android.support.constraint.ConstraintLayout>
主要Activity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}}
当我删除ImageView时,该应用程序运行正常。 我已尝试调整图像大小并重新安装android studio。
有人能解决问题吗?
答案 0 :(得分:0)
你可能会对difference between "@+id" and "@id"搞砸了。尝试更正ImageView
activity_main.xml
的这一行
app:layout_constraintBottom_toBottomOf="@+id/button2"
到
app:layout_constraintBottom_toBottomOf="@id/button2"
并重试。
答案 1 :(得分:0)
使用 PNG 或SVG图片作为imageView
的来源。 更改以下行:
app:srcCompat="@drawable/download"
要强>:
android:src="@drawable/download"
答案 2 :(得分:0)
确保您的图片名称之间没有空格,并以小写字母开头。添加将其保存在drawable文件夹中而不是drawable(24),否则会在90%的时间内报告错误。
答案 3 :(得分:0)
图像分辨率/尺寸是问题。只需检查图像文件的分辨率/尺寸并将其更改为适合手机的大小即可。我遇到了同样的问题。
答案 4 :(得分:-1)
改变这个:
<ImageView
...
app:srcCompat="@drawable/download" />
对此:
<ImageView
...
android:src="@drawable/download" />
<强>更新强>
检查drawable目录,可能你的drawable在其他目录中 像drawable-large,drawable-xxhdpi等文件夹然后清理和 重建你的项目
答案 5 :(得分:-1)
基本上,您需要按照以下提到的步骤进行试错:
它应该运行正常。实际上,我在遇到类似问题的一个项目中尝试了此方法,并且奏效了。