尝试使用setImageResource

时间:2019-06-03 03:06:23

标签: java android

我正在构建另一个更大的应用程序,有时需要动态更改图像,并且我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用,该应用仅显示带有代码的图片:

package com.example.imagetest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ImageView imageView = (ImageView) findViewById(R.id.imageview);
        imageView.setImageResource(R.drawable.pugs);
    }
}
  

Android Studio报告的错误是:03-07 11:30:01.146   20758-20758 /? E / Trace:打开跟踪文件时出错:没有此类文件或   目录(2)03-07 11:30:01.284 20758-20758 / com.example.imagetest   E / dalvikvm:找不到课程   'android.support.v4.view.ViewCompat $ OnUnhandledKeyEventListenerWrapper',   从方法引用   android.support.v4.view.ViewCompat.addOnUnhandledKeyEventListener   03-07 11:30:01.286 20758-20758 / com.example.imagetest E / dalvikvm:可以   找不到从方法引用的类'android.view.WindowInsets'   android.support.v4.view.ViewCompat.dispatchApplyWindowInsets 03-07   11:30:01.298 20758-20758 / com.example.imagetest E / dalvikvm:无法   查找类'android.view.WindowInsets',从方法引用   android.support.v4.view.ViewCompat.onApplyWindowInsets 03-07   11:30:01.300 20758-20758 / com.example.imagetest E / dalvikvm:无法   查找类“ android.view.View $ OnUnhandledKeyEventListener”,已引用   从方法   android.support.v4.view.ViewCompat.removeOnUnhandledKeyEventListener   03-07 11:30:01.306 20758-20758 / com.example.imagetest E / dalvikvm:可以   找不到从中引用的类'android.support.v4.view.ViewCompat $ 1'   方法   android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener   03-07 11:30:01.354 20758-20758 / com.example.imagetest E / dalvikvm:可以   找不到类'android.graphics.drawable.RippleDrawable',已引用   从方法   android.support.v7.widget.AppCompatImageHelper.hasOverlappingRendering   03-07 11:30:01.396 20758-20758 / com.example.imagetest E / AndroidRuntime:   致命异常:主要       java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.imagetest / com.example.imagetest.MainActivity}:   android.content.res.Resources $ NotFoundException:资源ID

     

0x7f060063

和许多其他内容。这是奇怪的事情:我将图片更改为另一个文件夹“ mipmap”(在可绘制之前:res / drawable),该应用程序没有崩溃!但是它也不显示图像,只是屏幕上什么也没有。 XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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=".MainActivity">

    <ImageView
        android:id="@+id/imageview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

不确定图像是否重要,但这是一张非常可爱的3帕格(分辨率约为4k)的图片,我只通过复制/粘贴将其添加到了drawable中。

2 个答案:

答案 0 :(得分:0)

    imageView.setImageResource(R.drawable.pugs);

您需要指定R部分中的import

示例:

    import com.sample.me.mydraft.R

答案 1 :(得分:0)

您的问题是资源(图像)的放置错误。您所使用的设备的 API 低于24,因此 API 23 及以下的资源为空,因为它们仅 API 24 < / strong>及更高版本。

请将您的哈巴狗图片放在 drawable 文件夹中,而不要放在 drawable-v24 文件夹中,也不要使用大图片!