2012-10-04 74 views
0

.setEnabled()只有一次似乎有一个原因吗?我希望根据内容在活动生命周期中多次打开和关闭它。我试过把它换成switch语句。.setEnabled似乎只能切换一次

 GAME_STATE_INPLAY = true;  
     if (GAME_STATE_INPLAY = true) { 
      explainButton.setEnabled(false); 
     } 
    .... 
     if (c.getString(7).toString().length() > 0) { 
       explainButton.setEnabled(true); 
     } 
+0

精心请。您使用的是什么活动生命周期? –

+1

是否(GAME_STATE_INPLAY == true)? –

+0

不,不是我的意思是对生命周期部分如此具体。我仅仅意味着在用户需要的时候(琐事游戏屏幕打开),布尔只是我编造的一些随心所欲的东西,因为我是希望如果问题不能自行创建,问题将得到解决。 – mango

回答

0

尝试获得通过ID再次BTN:

if (GAME_STATE_INPLAY = true) { 
     Button explainButton =(Button) findViewById(R.id.button); 
     explainButton.setEnabled(false); 
    } 

    if (c.getString(7).toString().length() > 0) { 
      Button explainButton =(Button) findViewById(R.id.button); 
      explainButton.setEnabled(true); 
    } 
+0

疯了。它完全奏效。有什么我应该知道吗?所以我不会再犯这个错误? – mango

+1

当您第一次将setEnabled设置为false时,存储的explainButton值不会更改,它会在显示屏上以编程方式更改。所以当你想再次确定它的价值时,这个价值已经是真实的。 –

相关问题