2011-11-08 70 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