java - 尝试使用 setImageResource 时应用程序崩溃
问题描述
我正在构建另一个更大的应用程序,有时我需要动态更改图像并且我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用程序,它只显示带有代码的图片:
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 引用。
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),我通过复制/粘贴将其添加到可绘制对象中。
解决方案
imageView.setImageResource(R.drawable.pugs);
您需要指定R
它在import
零件中。
例子:
import com.sample.me.mydraft.R