有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java中的安卓代码为ImageView设置图像?

我是安卓开发的新手,在用java代码显示可绘制资源文件中的图像时遇到了问题。 我简化了我原来的应用程序来隔离问题,所以 现在它只是一个空白活动,中间有一个图像视图

xmlns:tools="http://schemas.安卓.com/tools"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
tools:context=".MainActivity">

<ImageView
    安卓:id="@+id/imageView000"
    安卓:layout_width="82dp"
    安卓:layout_height="82dp"
    安卓:layout_centerHorizontal="true"
    安卓:layout_centerVertical="true" />

公共类MainActivity扩展了AppCompatActivity{

public ImageView images;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
protected void onStart() {
    super.onStart();
    images = findViewById(R.id.imageView000);
    images.setImageResource(R.drawable.imageNameInDrawableFile);

}

}

编译过程中没有错误。 但当我在虚拟设备或手机上运行时,应用程序在启动时崩溃。 怎么了

更新:谢谢大家的提示。问题是图像的目录,它是“E:\AndroidStudioProjects\TestApplication\app\src\main\res\drawable-v24”,在我将myImage放入drawable文件夹后,刚刚删除了目录中的“-v24”,之后它工作得很好


共 (2) 个答案

  1. # 1 楼答案

    只需使用onCreate中的代码即可

    原因onStart包括应用程序首次创建的时间,以及应用程序在未终止的情况下返回屏幕的时间

    public ImageView images;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        images = findViewById(R.id.imageView000);
        images.setImageDrawable(ContextCompat.getDrawable(activity, R.drawable.your_image));
        //or
        images.setImageResource(R.drawable.your_image);
    }
    
  2. # 2 楼答案

    使用images.setImageResource(R.drawable.imageNameInDrawableFile)

    setImageDrawable()要求传递一个Drawable,但传递的是一个整数