0

getBackground()およびsetBackground()メソッドに問題があります。私はアプリケーションを設計しましたが、どのバージョンがユーザーの Android システムであるかを確認していないことがわかりました (私は Android の初心者です - 良い教訓です)。

上記のメソッドがこのバージョンで導入されたため、私のアプリケーションは Build.version > 15 で動作しています。

バージョン16より前に存在していた同様の方法を使用したいと思います.何かアイデアはありますか?

4

1 に答える 1

3

このgetBackground()メソッドは API レベル 1 から存在しているため、問題にはなりません。API レベル 16 からのみsetBackground(Drawable background)導入されたため、古いプラットフォームで問題が発生する可能性があります。

あなたの選択肢は次のとおりです。

  1. setBackgroundColor(int color)
  2. setBackgroundDrawable(Drawable background)
  3. setBackgroundResource(int resid)

これらのメソッドのうち、2 番目のメソッドは、setBackground(Drawable background)現在使用している に置き換えられたため、API レベル 16 以降非推奨になりました。ただし、そのメソッドの実際の実装を見ると、次のことがわかります。

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

したがって、この時点で行うことは、非推奨のsetBackgroundDrawable()メソッドへの呼び出しを委譲することだけです。したがって、簡単な修正が必要な場合は、そのコードを使用するようにコードを変更するだけで問題ありません。

于 2013-08-20T02:37:04.583 に答える