Android getDrawable() 已弃用/如何使用 Android getDrawable()

Sim*_*mes 2 android android-view android-drawable

谁能告诉我使用 getDrawable() 的正确方法,我记得上次使用它只需要一个参数就可以了,但现在我收到了 this method is deprecated 错误,有人吗?下面是我尝试使用的片段

 private void toggleUi() {
    ImageView imageView = (ImageView) findViewById(R.id.silent_icon);
    Drawable silentImage;

    if(silent) {
        silentImage = getResources().getDrawable(R.drawable.silent_on);
    } else {
        silentImage = getResources().getDrawable(R.drawable.silent_off);
    }
    imageView.setImageDrawable(silentImage);
}
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮忙,我会很高兴谢谢。

aro*_*ire 5

从 API 22 开始,您应该调用ContextCompat.getDrawable(context, R.drawable.***)而不是getResources().getDrawable(R.drawable.***).

您可以从支持库中查看ContextCompat的文档以了解更多详细信息。