、あなたが方法getDrawableを作成する必要があります。
private Drawable getDrawable(int id) {
final int sdk = android.os.Build.VERSION.SDK_INT;
if (sdk >= android.os.Build.VERSION_CODES.LOLLIPOP) {
return ContextCompat.getDrawable(getContext(), id);
} else {
return getContext().getResources().getDrawable(id);
}
}
その後、メソッドを作成するsetBackgroundView:
private void setBackgroundView(View v, int drawable_Rid) {
Drawable background = getDrawable(drawable_Rid);
final int sdk = android.os.Build.VERSION.SDK_INT;
if (sdk >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
v.setBackground(background);
} else {
v.setBackgroundDrawable(background);
}
}
そして最後に、このように描画可能な名前でsetBackgroundViewを呼び出します。
setBackgroundView(rl, R.drawable.loginbackground3);
私はrl.setBackgroundResource(R.drawable.loginbackground3)を使ってみました。そして、私はエラーは表示されませんが、動作しません。何も起こりません。背景は変わらない –