2012-11-01 56 views
1

我想獲得一個ToggleButton來切換TextView中的文本在兩種文本之間來回切換。當我第一次點擊時,它會將默認文本切換爲替代文本,但是當我再次點擊它時不會將其切換回來。這裏是我的代碼:如何讓ToggleButton識別Android活動中的多次點擊?

ELswitch = (ToggleButton)findViewById(R.id.toggleButton1); 
    ELswitch.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if(ELswitch.isEnabled()==true) 
      { 
       InputStream iFile = getResources().openRawResource(R.raw.raw_text_file_alternate); 
       try { 

        text.setText(inputStreamToString(iFile)); 
        text.setFocusable(false); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } else { 
       InputStream iFile = getResources().openRawResource(R.raw.raw_text_file_default); 
       try { 

        text.setText(inputStreamToString(iFile)); 
        text.setFocusable(false); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } 
     } 
    }); 

一個建議,我收到消除只是由這一點似乎使用常規的按鈕和一個計數器和MOD的問題一樣應該有一個方法,從一個切換按鈕做到這一點,雖然。我想我可能會錯誤地實例化ToggleButton,或者錯誤地使用if語句,但是我找不到錯誤。有任何想法嗎?

+0

打印涉及的布爾值。 – keyser

+0

isEnable顯示您是否可以單擊ToggleButton。不是它的狀態,爲此你應該使用isChecked –

回答

1

它看起來像你的比較是:

ELswitch.isEnabled()==true 

這將只是告訴你,開關啓用與否,不在於是否檢查。你可能想改變這種狀況檢查,如果檢查:

ELswitch.isChecked()==true 

您可以找到有關以下指南/文檔中的切換按鈕的更多信息:

http://developer.android.com/reference/android/widget/ToggleButton.html

從你的問題,它也似乎你可能想用一個OnCheckedChangeListener而不是你的OnClickListener

http://developer.android.com/guide/topics/ui/controls/togglebutton.html

希望幫助:作爲例如本可以在下面的指南中找到!

+0

我將isEnabled()更改爲isChecked(),它的工作原理與我想要的一樣。非常感謝!大的幫助。 – Rambo8000