Android的我如何正确地得到来自交换机的价值?(Android How do I correct

2019-06-24 09:51发布

我创建一个Android它使用的应用程序切换 。
我想监听的变化和改变时,你得到的价值。
我使用交换机有两个问题:

  1. 什么action listener适合我?
  2. 我如何获得的switch价值?

Answer 1:

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是新的开关值truefalse ]不老的一个。



Answer 2:

由于从延伸CompoundButton ( 文档 ),你可以使用setOnCheckedChangeListener()来侦听变化; 用isChecked()得到该按钮的当前状态。



Answer 3:

Switch switch = (Switch) findViewById(R.id.Switch2);

switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        ...switch on..
                    } else {
                       ...switch off..
                    }
                }
            });

我希望这将解决您的问题



文章来源: Android How do I correctly get the value from a Switch?