0
私はアプリを開発しましたが、私のs7や他のデバイスでうまくいきましたが、4.4のkitkatを実行していた古いものでテストしました。 、それは動作しません。アンドロイドコンスタントステートは4.4で動作しませんKitKat
この私が使用しているコードの一部です:
for (Button btn : selectorArrayList) {
final Button button = btn;
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
Check if button color is white or red
if white, turn red and activate the
selector (category) and if it's red
turn white and deactivate the selector
category)
*/
// I've set the background in the XML Layout as R.color.white
Drawable pd = (Drawable) button.getBackground();
if (pd.getConstantState().equals(ContextCompat.getDrawable(getContext(), R.color.white).getConstantState())) {
...
をOSの新しいバージョンでこの非常時点でそれは状態が同じであることを決定、および4.4に(他に試したことがありませんバージョン)はありません。
私はここで何か間違っているのですか?ありがとうございました。
はそれが仕事はこのようにそれを比較するん白色 –
を取得するためにColorDrawableを使用しようとします。if((pd.getColor()&0xFFFFFFの)==は0xFFFFFF)、あなたを行いますそれは他の方法で動作しない理由を知っている? – DomeWTF
ContextCompat.getDrawableメソッドでカラーresを渡します。古いバージョンでは正しく処理できない可能性があります。 –