我正在构建另一个更大的应用程序,有时需要动态更改图像,并且我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用,该应用仅显示带有代码的图片:
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中。
答案 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 文件夹中,也不要使用大图片!