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

Android getDrawable() Deprecated / How To use Android getDrawable()

任何人都可以告诉我使用 getDrawable() 的正确方法,我记得上次我使用它时只有一个参数就可以了,但现在我收到此方法已弃用的错误,有人吗?下面是我正在尝试使用的片段

 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);
}

如果有人能提供帮助,将不胜感激。

因为 API 22 你应该调用 ContextCompat.getDrawable(context, R.drawable.***) 而不是 getResources().getDrawable(R.drawable.***).

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