0

私のレイアウトには 4 つのボタンがあります。これらは、View の 4 つの可能なコンテンツ間のスイッチャーです。これらのボタンのいずれかが押されるたびに、それを強調表示する必要があります (単に他の背景、他の画像を読み込んで、テキストの色を変更するだけです)。問題は、ボタンがタッチされた瞬間から(クリック後ではなく)、他のボタンが押されるまで、これを行う必要があることです。他のボタンが既に強調表示されているかどうかを確認する必要があり、変更はクリック後にのみ行われるため、 onClick() メソッドの単純な使用はあまり良くありません。そのための良い解決策はありますか?

4

1 に答える 1

1

onFocusChange聞き手 はどうですか?

button.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            // set the background, image and color for focused
        } else {
            // set the background, image and color back to normnal
        }
    }
});

各ボタンにこれらのいずれかを設定すると、すべて設定されます。

于 2012-06-22T15:32:46.330 に答える