Java 尝试使用setImageResource时应用程序崩溃
我正在构建另一个更大的应用程序,在某个时候我需要动态更改图像,我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用程序,它只显示带有代码的图片:Java 尝试使用setImageResource时应用程序崩溃,java,android,Java,Android,我正在构建另一个更大的应用程序,在某个时候我需要动态更改图像,我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用程序,它只显示带有代码的图片: package com.example.imagetest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageView; public class MainActivity ex
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:can
找不到从方法引用的类“android.view.WindowInsets”
android.support.v4.view.ViewCompat.DispatchApplyWinSets 03-07
11:30:01.298 20758-20758/com.example.imagetest E/dalvikvm:无法
查找从方法引用的类“android.view.WindowInsets”
android.support.v4.view.ViewCompat.OnApplyWindowInsetts 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:can
找不到引用自的类“android.support.v4.view.ViewCompat$1”
方法
android.support.v4.view.ViewCompat.SetonapplyWindowInsettsListener
03-07 11:30:01.354 20758-20758/com.example.imagetest E/dalvikvm:can
未找到引用的类“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:无法启动活动组件信息{com.example.imagetest/com.example.imagetest.MainActivity}:
android.content.res.Resources$NotFoundException:资源ID
0x7f060063
还有很多其他的东西。奇怪的是:我将图片更改为另一个文件夹“mipmap”(在它位于drawable: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中
imageView.setImageResource(R.drawable.pugs);
您需要在导入部分指定哪个R
例如:
import com.sample.me.mydraft.R
您需要在导入部分指定哪个R
例如:
import com.sample.me.mydraft.R
您的问题是资源(图像)放置错误。您使用的设备的APIAPI低于24,因此API23及以下的资源为空,因为它们仅API 24及以上
请将您的哈巴狗图片放入drawable文件夹中,不要drawable-v24,也不要使用大图片 您的问题是资源(图像)的放置错误。您使用的设备的APIAPI低于24,因此API23及以下的资源为空,因为它们仅API 24及以上
请将您的哈巴狗图片放入drawable文件夹中,不要drawable-v24,也不要使用大图片 上面说找不到resourceID。请提供你把图片放在哪里,因为图片太大了。您可以使用较小的图像进行测试。顺便问一下,哈巴狗文件的扩展名是什么?png或jpg?介于错误代码和我编写的XML之间,即res/drawable。如果需要更具体的说明:/home/krampus/Documents/imageTest/app/src/main/res/drawable-v24请检查我的回答。它说找不到resourceID。请提供你把图片放在哪里,因为图片太大了。您可以使用较小的图像进行测试。顺便问一下,哈巴狗文件的扩展名是什么?png或jpg?介于错误代码和我编写的XML之间,即res/drawable。如果需要更具体一些:/home/krampus/Documents/imageTest/app/src/main/res/drawable-v24检查我的回答尝试将图片移动到drawable(not drawable-v24),错误仍然存在。将图片更改为较小的图片(实际上它类似于400x400),现在可以使用了。错误似乎主要是因为分辨率太高。建议不要在android中使用更大的图像,请检查以下内容:尝试将图片移动到可绘制(不可绘制-v24),但错误仍然存在。将图片更改为较小的图片(实际上它类似于400x400),现在可以使用了。错误似乎主要是因为分辨率太高。建议不要在android中使用较大的图像,请检查以下内容: