protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ToggleButton b = (ToggleButton)findViewById(R.id.Button);
TextView t = (TextView)findViewById(R.id.Field);
if (b.isChecked() == false){
t.setText("I'm turned off!");
}
if (b.isChecked()==true)
t.setText("I'm turned on!");
}
答案 0 :(得分:0)
因为您仅在onCreate方法中更改文本。相反,您必须使用setOnClickListener方法对ToggleButton的更改做出反应。
答案 1 :(得分:0)
你应该把你的代码放在Button的setonclickListener上......或者什么......
Button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (b.isChecked() == false){
t.setText("I'm turned off!");
}
if (b.isChecked()==true)
t.setText("I'm turend on!");
}
}
});
答案 2 :(得分:0)
您可以使用以下内容:
yourToggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
Log.e("", "on");
} else {
Log.e("", "Off");
}
}
});
答案 3 :(得分:0)
您只是在创建时检查ToggleButton的状态,这意味着它只会为您在XML中为该元素设置的默认选中值。您需要创建一个侦听器来检测更改并从侦听器中更新TextView。
代码示例:
b.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
if(b.isChecked())
t.setText("I'm turned on");
else
t.setText("I'm turned off");
}
});