0

ボタンの背景を設定したい。すべて正常にAndroid 4.1.2動作しますが、起動するとAndroid 4.0エラーが発生します

java.lang.NoSuchMethodError: android.widget.Button.setBackground 

コード付き

LayerDrawable composite = new LayerDrawable(layers);
button.setBackground(composite);

LayerDrawableでは、背景を設定するにはどうすればよいAndroid 4.0ですか?

4

3 に答える 3

2

上記の答えはどちらも近いですが、実際に使用する必要があります

Build.VERSION.SDK_INT

Build.VERSION.SDK は文字列を返すため、API 4 以降は非推奨になっています。

if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN){
         LayerDrawable composite = new LayerDrawable(layers);
         button.setBackgroundDrawable(composite);
}else{
         LayerDrawable composite = new LayerDrawable(layers);
         button.setBackground(composite);
}
于 2014-12-10T00:35:35.033 に答える
0

これを試して...

if(Build.VERSION.SDK < Build.VERSION_CODES.ICE_CREAM_SANDWICH){
     LayerDrawable composite = new LayerDrawable(layers);
     button.setBackgroundDrawable(composite);
}else{
     LayerDrawable composite = new LayerDrawable(layers);
     button.setBackground(composite);
}

setBackground drawable はパラメーターとして受け取ります (Drawable background)...

お役に立てば幸いです...

于 2014-09-01T18:43:54.753 に答える