Java android:如何检查图像的可绘制性?

Java android:如何检查图像的可绘制性?,java,android,android-drawable,Java,Android,Android Drawable,您好,我正在使用此代码检查当前图像: public void onToggle(View view){ ImageView imageFav = (ImageView) view; if (imageFav.getResources().equals(R.drawable.fave_icon_1)) { dataSource.addToFavorite(idiom); Toast.makeText(this, "Saved", Toast.LENG

您好,我正在使用此代码检查当前图像:

public void onToggle(View view){
    ImageView imageFav = (ImageView) view;
    if (imageFav.getResources().equals(R.drawable.fave_icon_1)) {
        dataSource.addToFavorite(idiom);
        Toast.makeText(this, "Saved", Toast.LENGTH_SHORT).show();
        imageFav.setImageResource(R.drawable.fave_icon_2);

    }else if(imageFav.getResources().equals(R.drawable.fave_icon_2)){
        dataSource.deleteFromFavorite(idiom);
        Toast.makeText(this, "Deleted", Toast.LENGTH_SHORT).show();
        imageFav.setImageResource(R.drawable.fave_icon_1);
    }
}
XML:


但它不起作用。是否有一种通用的方法来检查当前可提取的数据。

有什么想法吗?

您正在将ImageView与可绘制id进行比较,当然,比较结果永远不会为真。您可以使用两个不同的图像视图并切换这两个图像的可见性,检查您单击的图像的id

getResources().getDrawable(R.id.icon).toString().equals(R.drawable.icon)
我希望它能解决您的问题

使用setTag()和getTag。您可以在XML中定义初始值,并在代码中更改它。
getResources().getDrawable(R.id.icon).toString().equals(R.drawable.icon)