我在网上进行了研究,发现了有关比较图像和引用{{1}}文件夹内图像的相关但不太相似的信息。
然而,通过遵循我在stackoverflow中找到的一个答案,我能够比较两个图像并在按钮点击时在它们之间切换。
我只关心我为drawable
收到的已弃用邮件。
获取可绘制图像并进行比较的正确方法或语法是什么? getDrawable(int)
似乎不是那个位置上的正确者。
这是我工作程序的代码和截图。
getDrawable()
划掉的getDrawable()方法的屏幕截图。
虽然我的程序正在运行,但我希望确保将来不要使用已弃用方法的错误。
我认为这很重要,因为就像我提到的那样,我用Google搜索并获得了使用哪种方法或语法的不同信息。
以下是可能遇到同样问题的其他用户的修改解决方案。
private class myButtonListener implements View.OnClickListener{
@Override
public void onClick(View view) {
if(myImageView.getDrawable().getConstantState() ==
MainActivity.this.getResources().getDrawable(R.drawable.corgi).getConstantState() ){
myImageView.setImageResource(R.drawable.goldenretriever);
}else{
myImageView.setImageResource(R.drawable.corgi);
}
}
}
答案 0 :(得分:2)
是的,您需要更改弃用的代码: -
ContextCompat.getDrawable(getActivity(), R.drawable.name);
有关详情和其他答案,请查看Android getResources().getDrawable() deprecated API 22
答案 1 :(得分:1)
ContextCompat
。
使用if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return resources.getDrawable(id, context.getTheme());
} else {
return resources.getDrawable(id);
}
进行访问:
Improve Declaration File Acquisition
使用这种方式。
{{1}}
答案 2 :(得分:0)