1. ホーム
  2. android

[解決済み] setBackgroundDrawable() 非推奨

2022-01-28 13:44:56

質問

私のSDKは15から21になり setBackgroundDrawable() Android Studioでは、非推奨であることが告げられます。

を使って回避することを考えました。

int sdk = android.os.Build.VERSION.SDK_INT;

if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
    layout.setBackgroundDrawable(getResources().getDrawable(R.drawable.img_wstat_tstorm));
} else {
    layout.setBackground(getResources().getDrawable(R.drawable.img_wstat_tstorm));
}

しかし、その後、私は "setBackground()" でエラーが発生します。

では、どのように対処するのでしょうか?

どのように解決するのか?

興味深いテーマですね。あなたのやっている方法は、どうやら正しいようです。実はネーミングの決定が変わっただけなのです。として 本解答 が指摘する。 setBackground() を呼び出すだけです。 setBackgroundDrawable() :

public void setBackground(Drawable background) {
    //noinspection deprecation
    setBackgroundDrawable(background);
}

@Deprecated
public void setBackgroundDrawable(Drawable background) { ... }

あなたが見ることができる このスレッド をご覧ください。