2017-04-17 38 views
0

我在Android中開發測驗應用程序。 我想在單個活動中顯示所有問題。當用戶選擇一個選項時,如果它是正確的,則設置顏色爲綠色,如果爲false,則將顏色設置爲紅色。並獲得新的問題和選擇。我寫了一篇關於onClick事件代碼:如何在Android中立即反映settingBackground

public void onClickChoice(View v) { 
    String text = ((TextView) v).getText().toString(); 

    if (text == currentAnswer) { 
     v.setBackgroundColor(getResources().getColor(newGreen)); 
    } else { 
     v.setBackgroundColor(getResources().getColor(newRed)); 
    } 

    setNewQuestion(); 
} 

當運行應用程序時,我回答第一個問題和第二個問題來了,第二個問題的選擇的顏色被改變。 我該如何解決這個問題。

回答

0

何不在該類實現setOnClickLisenter();嘗試

+0

我試過了。同樣的事情發生 –

0

使用

v.setBackgroundResource(R.color.red); //or green, blue,... 

原來的答覆:here

+0

不幸的是,不起作用 –

+0

@MHilmiKoca從我的理解,你想看到背景的變化。那麼,如果你改變它,然後跳到另一個問題,當你在另一個問題的背景中時,第二個背景當然是綠色/紅色。所以你必須等待。問題在哪裏?你能更好地解釋自己嗎? – Curio

+0

我在第一個問題上看不到新的顏色(綠色/紅色)。立即(或3秒後)第二個問題以紅色/綠色出現。 我的期望是我回答第一個問題,選擇的顏色是變化。並用默認顏色獲得第二個問題。我回答第二個問題,其選擇的顏色是變化。等 –

0

這是在列表或回收的看法?

如果是這樣,每個視圖都會被回收,所以您需要在每個視圖啓動時專門設置背景顏色。

+0

我使用問題列表 –

+0

你可以在你的Adapter.getView(),我會看看我是否可以幫忙。 –

+0

我使用minSdkVersion是14.我可以這樣做 –

相關問題