Har*_*ter 2 android state togglebutton sharedpreferences
我要做的是检查SharedPreferences音量和振动是否为on或off.如果是,ToggleButton应该设置为on,否则,off.
我使用已经尝试过setChecked(),并setSelected()在ToggleButton秒,但它并没有改变TogggleButtonS'的状态.
我也尝试初始化变量true,false只是为了确保但仍然不起作用.
什么似乎是问题?
optionsDB = getSharedPreferences(table, 0);
String volReturned = optionsDB.getString("volume", "Couldn't load data");
String vibReturned = optionsDB.getString("vibration", "Couldn't load data");
Toast.makeText(this, "Vol: "+volReturned+" Vib: "+ vibReturned, Toast.LENGTH_LONG).show();
boolean boolT = true;
boolean boolF = false;
if (volReturned=="On"){
/*tbtnvol.setChecked(true);*/
tbtnvol.setSelected(boolT);
}else{
tbtnvol.setSelected(boolF);
}
if (vibReturned=="On"){
tbtnvib.setSelected(boolT);
}else{
tbtnvib.setSelected(boolF);
}
Run Code Online (Sandbox Code Playgroud)
而不是==使用.equals()字符串比较..
试试这个,
if (volReturned.equals("On")){
/*tbtnvol.setChecked(true);*/
tbtnvol.setSelected(boolT);
}else{
tbtnvol.setSelected(boolF);
}
if (vibReturned.equals("On")){
tbtnvib.setSelected(boolT);
}else{
tbtnvib.setSelected(boolF);
}
Run Code Online (Sandbox Code Playgroud)
好吧,有两种与ToggleView相关的方法:
setChecked(布尔值)
setSelected(布尔值)
并且它们都是成对使用。如果要将切换视图设置为选中,则将“ true”传递给这两种方法,反之亦然。
原因是,setChecked()设置与视图对象关联的内部布尔型dataMember,而setSelected 设置与视图对象关联的UI。
是的,这是有线方式,实际上一个方法应该同时设置UI和数据,但这是如何实现的,因此这就是我们必须成对使用这些方法的方式。
| 归档时间: |
|
| 查看次数: |
5110 次 |
| 最近记录: |