2012-04-12 72 views
1

我有设定当切换按钮到开启位置的提示设置为我的TextView之一Android的切换按钮状态设置texview文本

“公斤”

。 文本视图的初始提示是

“ST”

如果切换处于关闭位置,这应该被显示。

当我第一次启动该应用TextView的dispalys

“ST”

(起初是确定作为肘节处于关闭位置)现在,当我按下切换它打开到开启位置,并显示

“公斤”

在textView(这也是好的。)

现在出现问题。如果我再次拨动点击(关闭位置)的TextView保持原样

“公斤”

没有人知道如何我可以将其设置为始终“在关闭状态和ST”公斤展示“在开启状态。

提前

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"); 

回答

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"); 
+0

谢谢。这工作 – 2012-04-12 10:25:18

0

主要意图非常感谢对于上述问题,儿子是尚未实施的逻辑。

当您第一次点击该按钮时,它将文本设置为“kg”,它将始终设置为任意数量的点击。因为您已经撰写了声明

tw1.setHint(“kg”);

在您的onClick()方法中,而不保持按钮的状态。 强调文字

为了使其正确使用布尔标志并在每次单击时更改其状态并根据标志值设置文本。

最好的方法是使用ToggleButton,它具有内置的开/关状态,因此您不需要在布尔标志上设置基于按钮状态的提示。

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; 
      }