のクラスのsetBackgroundDrawable()
メソッドは、View
androidSDKAPIレベル16で非推奨になりました。
新しいメソッドはsetBackground()
利用可能ですが、もちろんAPI16でのみ利用可能です。
アプリケーションを以前のAPIレベルと互換性を持たせたい場合、どうすれば回避できますか?(少なくともAPI 14)
目標は警告を排除することであり、@SupressWarningsは私にとって解決策ではありません。
のクラスのsetBackgroundDrawable()
メソッドは、View
androidSDKAPIレベル16で非推奨になりました。
新しいメソッドはsetBackground()
利用可能ですが、もちろんAPI16でのみ利用可能です。
アプリケーションを以前のAPIレベルと互換性を持たせたい場合、どうすれば回避できますか?(少なくともAPI 14)
目標は警告を排除することであり、@SupressWarningsは私にとって解決策ではありません。
通常の方法はこれです:
if (android.os.Build.VERSION.SDK_INT >= 16)
setBackground(...);
else
setBackgroundDrawable(...);
一方、反射を使用することもできます。
try {
Method setBackground = View.class.getMethod("setBackground", Drawable.class);
setBackground.invoke(myView, myDrawable);
} catch (NoSuchMethodException e) {
setBackgroundDrawable(myDrawable);
}
IMOの警告は、例外や不要なリフレクションをキャッチするよりも優れています。
使用できます
viewobj.setBackgroundResource(drawble_object);
ビットマップをImageViewに設定します。
ImageView imageView =(ImageView)findViewById(R.id.imageSlice4); imageSlice4.setBackground(new BitmapDrawable(getResources()、slicedImagesArrayList.get(3)));