2011-08-22 95 views
17

我需要能夠訪問ToggleButton的狀態,看看如何無法爲ToggleButton的特定狀態創建方法。因此,這裏是我在哪裏至今:通過處理程序獲取ToggleButton的狀態

ToggleButton syncSwitch = (ToggleButton)findViewById(R.id.toggleButton1); 
syncSwitch.setOnClickListener(new OnClickListener(){ 
    @Override 
    public void onClick(View view){ 
     Toast.makeText(getApplicationContext(), "Click!", Toast.LENGTH_SHORT).show(); 
    } 
}); 

現在我需要的是某種類型的布爾方法,它可以告訴處理程序的ToggleButton的狀態。

+0

syncSwitch.isChecked()沒有幫助? – ruhalde

+0

看到我對尼古拉的回答 – nkcmr

回答

34

你的意思是「爲特定狀態創建方法」?你可以使用isChecked()得到狀態。

+0

好評,那很奇怪。你*是*正確的,但我一直在ToggleButton文檔上下,我沒有看到。 – nkcmr

+2

有時候方法是隱藏的,因爲它們是從其他類繼承的。無論如何,文檔真的很糟糕,isChecked()是在android.widget.CompoundButton – ruhalde

+0

我不會去說它很爛。您只需點擊「繼承的方法」鏈接,並在列表中有一個非常恰當的「可檢查」界面。細節在默認情況下是隱藏的,但這是一個功能,因爲UI小部件的繼承層次可能非常深。 –

8

您還可以通過使用togglebtn.setOnCheckedChangeListener監聽器這樣

ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle); 
toggle.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

@Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       Toast.makeText(getApplicationContext(), 
         String.valueOf(buttonView.isChecked()), Toast.LENGTH_SHORT).show(); 
      } 
     }); 

希望這有助於檢查。

相關問題