首页 > 解决方案 > 为什么我无法使用“setImageRecource”来更改 Android Studio 中 ImageView 使用的可绘制对象?

问题描述

我正在学习如何为 Android 开发应用程序,我通过学校课程熟悉 Java。目前,我m developing a small TicTacToe app for exercise purpose and I´m trying to show a cross instead of a circle but Android Studio cant compilesetImageRecource` 命令即使在每个该死的在线论坛中都推荐这种方法。

我已经尝试过 set 之类的setBackgroundRecource东西,但所有这些东西都没有达到我的目的......

Java 代码:

 public void click(View pView){
    if(getActivePlayer()== 1){
        if(s1.getSymbol().equals("cross")){
            pView.setImageResource(R.drawable.circle); //claims cannot Resolve method 'setIMageRecource(int)'
        }
        else{
            pView.setImageResource(R.drawable.cross); //claims cannot Resolve method 'setIMageRecource(int)'
        }
    }
    else if(getActivePlayer()==2){
        if(s2.getSymbol().equals("circle")){
            pView.setImageResource(R.drawable.circle); //claims cannot Resolve method 'setIMageRecource(int)'
        }
        else{
            pView.setImageResource(R.drawable.cross); //claims cannot Resolve method 'setIMageRecource(int)'
        }
    }
    pView.setY(-1000);
    pView.setAlpha(1);
    pView.animate().translationYBy(1000).setDuration(1000);
    if (getActivePlayer() == 1){
        setActivePlayer(2);
        String checker = "aktive player ist gerade" + getActivePlayer();
        Log.i("INfo", checker);
    }
    else{
        setActivePlayer(1);
        String checker = "aktive player ist gerade" + getActivePlayer();
        Log.i("INfo", checker);
    }

}

在 XML 中:

 <ImageView
            android:id="@+id/field4"
            android:layout_width="120dp"
            android:layout_height="120dp"
            android:onClick="click"
            app:srcCompat="@drawable/circle" />

标签: javaandroidxml

解决方案


您可以使用 ImageView.setImageDrawable(Context Impact.getDrawable(mContext, R.drawable.cross));

这里 mContext 被全局声明为您的活动参考。


推荐阅读