2012-04-12 70 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; 
      }