我有一个切换按钮,当设置为开启位置时,将提示设置为我的一个textview
“公斤”
。 文本视图的初始提示是
如果切换位于关闭位置,则应显示“ST”
。
当我第一次启动应用时,textview显示
“ST”
(当开关处于关闭位置时,它首先是正常的)现在,当我按下切换开关时,它会转到开启位置并显示
textView中的“公斤”
(这也没关系。)
现在出现了问题。如果我再次点击切换(关闭位置),则textView保持为
“公斤”
有没有人知道如何将它设置为始终显示“处于关闭状态的st和处于打开状态的”kg“。
非常感谢提前
addListenerOnButton();
}
public void addListenerOnButton() {
unitToggle = (Button) findViewById(R.id.unitToggle);
final TextView tw1 = (TextView)findViewById(R.id.tw1);
unitToggle.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
StringBuffer result = new StringBuffer();
tw1.setHint("kg");
答案 0 :(得分:1)
unitToggle.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
StringBuffer result = new StringBuffer();
if(tw1.getHint().toString().equals("kg"))
tw1.setHint("st");
else
tw1.setHint("kg");
答案 1 :(得分:0)
上述问题的主要原因是尚未实施的逻辑。
当您第一次单击该按钮时,它将文本设置为“kg”,它将始终设置任意数量的单击。因为你已经写了声明
的 tw1.setHint( “公斤”); 强> 的
在你的onClick()方法中,而不保持按钮的状态。 强调文字。
为了使其正确使用布尔标志并在每次单击时更改其状态,并根据标志值设置文本。
最好的方法是使用具有内置开/关状态的ToggleButton,这样你就不需要你的on boolean标志并根据按钮状态设置提示。
答案 2 :(得分:0)
尝试
private boolean on=false;
unitToggle.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
StringBuffer result = new StringBuffer();
if(on){
tw1.setHint("kg");
on = true;
}else{
tw1.setHint("st");
on = false;
}