2011-11-08 73 views
0

我需要禁用基於當前一個月的參數的按鈕。這裏是我的代碼Android按鈕啓用/禁用不起作用

if(presentMonth > 20) 
{ 
    nextMonth.setClickable(false); 
    nextMonth.setOnClickListener(null); 
} 
else 
{ 
    nextMonth.setOnClickListener(new MyListener()); 
} 

哪裏nextMonth是按鈕的名稱,我試過的setEnabled,setClickable和setOnClickListener(空),但是未禁用按鈕。有什麼,我在這裏失蹤。

+1

的setEnabled(假)的禁用和真正的使 –

+0

你肯定「啓用/禁用」或者你想顯示/隱藏按鈕? –

+0

如果您嘗試過setEnabled,setClickable和setOnClickListener(null),那麼您可以檢查presentMonth值。可能是那總是大於20. –

回答

0

我認爲這些方法應該起作用,因爲它們是爲了這個。 setEnabled() 是的,我已經用另外一個方式,我記得好像

onClick(View v) 
{ 
    if(!condition) 
    { 
      //perform onClick stuff 
    } 
} 
+0

海男,我嘗試完全是這樣的,它的工作原理。對我來說,問題是我在做onCreate和onCreate只被調用一次。所以聽衆註冊了Button – Naba

+0

Android提供了啓用和禁用點擊按鈕的方法..setClickable..I建議您做一些更多的工作來尋找真正的問題,爲什麼這不適合你......當你得到時間..現在..CHEEERRSSS .. !! – MKJParekh

+0

@ njzk2您提前歡迎編輯答案,讓它變得更好。 – MKJParekh

1

嘗試,nextMonth.setEnabled(false)。通常可點擊的屬性是在XML佈局中設置的,如android:clickable="true