Android图像使应用程序崩溃

时间:2018-09-08 11:22:43

标签: android android-layout imageview

我正在尝试将图像添加到我新创建的应用程序中。但是,当我运行我的应用程序时,它崩溃了。我没有在我的应用程序中编写任何代码,所以我提供了XML代码和错误日志。 我在以前的应用程序中使用过ImageViews。那里没有错误。 我已经优化了图像,但是仍然给我错误。

图像细节

enter image description here

错误日志:

  

09-08 16:03:02.266 15137-15137 / com.example.avail.instagramclone   E / AndroidRuntime:致命异常:main           流程:com.example.avail.instagramclone,PID:15137           java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.avail.instagramclone / com.example.avail.instagramclone.LoginActivity}:   android.view.InflateException:二进制XML文件第10行:错误   膨胀类ImageView               在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)               在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)               在android.app.ActivityThread.access $ 800(ActivityThread.java:139)               在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1210)               在android.os.Handler.dispatchMessage(Handler.java:102)               在android.os.Looper.loop(Looper.java:136)               在android.app.ActivityThread.main(ActivityThread.java:5097)               在java.lang.reflect.Method.invokeNative(本机方法)               在java.lang.reflect.Method.invoke(Method.java:515)               在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)               在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)               在dalvik.system.NativeStart.main(本机方法)            原因:android.view.InflateException:二进制XML文件行#10:错误放大了类ImageView               在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)               在android.view.LayoutInflater.rInflate(LayoutInflater.java:755)               在android.view.LayoutInflater.inflate(LayoutInflater.java:492)               在android.view.LayoutInflater.inflate(LayoutInflater.java:397)               在android.view.LayoutInflater.inflate(LayoutInflater.java:353)               在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)               在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)               在com.example.avail.instagramclone.LoginActivity.onCreate(LoginActivity.java:15)               在android.app.Activity.performCreate(Activity.java:5248)               在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)               在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)               在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)               在android.app.ActivityThread.access $ 800(ActivityThread.java:139)               在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1210)               在android.os.Handler.dispatchMessage(Handler.java:102)               在android.os.Looper.loop(Looper.java:136)               在android.app.ActivityThread.main(ActivityThread.java:5097)               在java.lang.reflect.Method.invokeNative(本机方法)               在java.lang.reflect.Method.invoke(Method.java:515)               在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)               在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)               在dalvik.system.NativeStart.main(本机方法)            造成原因:android.content.res.Resources $ NotFoundException:资源ID#0x7f060058               在android.content.res.Resources.getValue(Resources.java:1123)               在android.support.v7.widget.ResourcesWrapper.getValue(ResourcesWrapper.java:208)               在android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328)               在android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)               在android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)               在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:77)               在android.support.v7.widget.AppCompatImageView。(AppCompatImageView.java:67)               在android.support.v7.app.AppCompatViewInflater.createImageView(AppCompatViewInflater.java:181)               在android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:105)               在android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1035)               在android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1092)               在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684)               在android.view.LayoutInflater.rInflate(LayoutInflater.java:755)               在android.view.LayoutInflater.inflate(LayoutInflater.java:492)               在android.view.LayoutInflater.inflate(LayoutInflater.java:397)               在android.view.LayoutInflater.inflate(LayoutInflater.java:353)               在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:287)               在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)               在com.example.avail.instagramclone.LoginActivity.onCreate(LoginActivity.java:15)               在android.app.Activity.performCreate(Activity.java:5248)               在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)               在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)               在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)               在android.app.ActivityThread.access $ 800(ActivityThread.java:139)               在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1210)               在android.os.Handler.dispatchMessage(Handler.java:102)               在android.os.Looper.loop(Looper.java:136)               在android.app.ActivityThread.main(ActivityThread.java:5097)               在java.lang.reflect.Method.invokeNative(本机方法)               在java.lang.reflect.Method.invoke(Method.java:515)               在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:785)               在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)               在dalvik.system.NativeStart.main(本机方法)

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="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".LoginActivity"
    tools:layout_editor_absoluteY="25dp">

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="220dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="85dp"
        android:layout_marginTop="150dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/logo" />
</android.support.constraint.ConstraintLayout>

6 个答案:

答案 0 :(得分:1)

如果drawable中有图像,请检查您的图像drawable v21 - 2 - 3文件夹,因此仅将其传输到可绘制的文件夹中并进行检查。

答案 1 :(得分:0)

使用app:srcCompat代替t:`date xasc ([] sym:raze (3#) each `USDJPY`GBPUSD`EURBTC;date:9#.z.d-til 3;mid:9?`float$10)

答案 2 :(得分:0)

您的日志文件显示此行

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f060058

这表示您在此行的XML中引用的图像文件“ logo.png”

app:srcCompat="@drawable/logo"

不在正确的目录中。您需要根据图像的分辨率将文件放置在可绘制目录之一中。

有关此主题的更多信息,请访问Android开发者网站“ Create drawables from resource images

答案 3 :(得分:0)

使用src属性而不是 public class Book { public string name { get; set; } public int pages { get; set; } public double rating { get; set; } public bool available { get; set; } } public class Prism { public List<Book> Books { get; set; } } public class Paragraphia { public List<Book> Books { get; set; } } public class BookStore { public Prism Prism { get; set; } public Paragraphia Paragraphia { get; set; } } public class RootObject { public List<BookStore> BookStores { get; set; } } ,所以使用

srcCompat

代替

app:srcCompat =“ @ drawable / logo”

还添加android:src="@drawable/logo" 以支持低于17的API版本

答案 4 :(得分:0)

删除

    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"

并使用

 android:src="@drawable/logo"

代替

 app:srcCompat="@drawable/logo" 

答案 5 :(得分:-1)

只需将您的图片替换为另一张图片,它将运行正常。

<?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="wrap_content"
    android:layout_height="wrap_content"
    tools:context=".MainActivity"
    tools:layout_editor_absoluteY="25dp">

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="220dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="85dp"
        android:layout_marginTop="150dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/logo" />
</android.support.constraint.ConstraintLayout>

如果您遇到问题,请告诉我