Zir*_*ode 6 android refresh view invalidation android-togglebutton
我有这样的方法:
ToggleButton toggle = ((ToggleButton)findViewById(R.id.toggle));
toggle.setTextOn("blah");
toggle.setTextOff("blahblah");
toggle.invalidate(); // doesn't work?
Run Code Online (Sandbox Code Playgroud)
调用此方法onOptionsItemSelected.切换按钮LinearLayout位于另一个内部LinearLayout.
我希望在调用方法后立即更新文本.相反,切换后的文本仅在我手动按下以切换状态后才更新.我在这里错过了什么,我使用了错误的方法吗?为什么不起作用.invalidate?
Sim*_*mas 11
您可以像这样更新按钮,而不是使其无效:
toggle.setChecked(toggle.isChecked());
Run Code Online (Sandbox Code Playgroud)
更新:
奇怪的是setTextOff,setTextOn不要更新按钮.不过setText那样做.因此,只需为每个按钮状态设置文本并setText更新当前值:
// Text based on state
ToggleButton toggle = ((ToggleButton)findViewById(R.id.toggle));
toggle.setTextOn("blah");
toggle.setTextOff("blahblah");
CharSequence text = toggle.isChecked() ? toggle.getTextOn() : toggle.getTextOff();
toggle.setText(text);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |