61

SwitchAndroidを使用するアプリケーションを作成しています。 変更をリッスンし、変更されたときに値を取得しようとしています。 スイッチを使用する際に 2 つの質問があります。

  1. action listenerを使う?
  2. 値を取得するにはどうすればよいswitchですか?
4

5 に答える 5

100
Switch s = (Switch) findViewById(R.id.SwitchID);

if (s != null) {
    s.setOnCheckedChangeListener(this);
}

/* ... */

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
    Toast.makeText(this, "The Switch is " + (isChecked ? "on" : "off"),
                   Toast.LENGTH_SHORT).show();
    if(isChecked) {
        //do stuff when Switch is ON
    } else {
        //do stuff when Switch if OFF
    }
}

ヒント:isChecked新しいスイッチの値 [trueまたはfalse] は古いものではありません。

于 2012-05-14T05:23:11.343 に答える
61

CompoundButton( docs )から拡張されているsetOnCheckedChangeListener() ため、変更をリッスンするために使用できます。isChecked()ボタンの現在の状態を取得するために使用します。

于 2012-05-14T00:49:49.810 に答える