2012-10-04 72 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值不會更改,它會在顯示屏上以編程方式更改。所以當你想再次確定它的價值時,這個價值已經是真實的。 –

相關問題