2013-10-06 68 views
0

我有4個按鈕,我想當用戶單擊按鈕,按鈕保持按下。我搜索,最後我用這個代碼保持按下按鈕。但是當我選擇返回按鈕時,程序返回到活動之前,但是例如當我使用回去並且介紹按鈕時,程序不能顯示介紹按鈕被按下。該程序顯示最後一個按鈕按下..保持按按鈕和管理返回按鈕

我該如何解決這個問題?請不要對我說,我用onTouch方法和onPressed方法,因爲這種方法堆滿我的動畫...

btnIntroduce.setBackgroundResource(R.drawable.introducepress); 
btnContact.setBackgroundResource(R.drawable.contact); 
btnMore.setBackgroundResource(R.drawable.more); 
btnProduct.setBackgroundResource(R.drawable.product); 

感謝

回答

0

我想你寫你的代碼保持在按下狀態在onCreate方法,如果是這種情況嘗試在onResume方法中的代碼。這將解決目的。

在包中創建一個新類,例如

public class SaveState { 

    public static boolean checkContact, checkIntroduce, checkMore, 
      checkProduct; 

} 

現在在你的活動,取代你的下面的代碼

checkContact = true/false; 
checkIntroduce = true/false; 
checkMore = true/false; 
checkProduct = true/false; 

隨着

SaveState.checkContact = true/false; 
    SaveState.checkIntroduce = true/false; 
    SaveState.checkMore = true/false; 
    SaveState.checkProduct = true/false; 

和運行代碼。

+0

感謝您的快速回復..請更多解釋。我在onResume()方法中添加了什麼?我在私人OnClickListener onClickListener =新的OnClickListener()方法中寫入此代碼,使用onCreate()。 – SensorS

+0

看到發生了什麼是當你按下一個按鈕它工作正常,但當你按下按鈕後再次進入這個活動再次創建的活動,所以你必須保存你的按下的按鈕狀態的地方,並在onResume方法你必須再次設置它被按下。 –

+0

你的意思是我在onResume()中添加了這段代碼(上面的代碼)?但我怎麼能理解哪個按鈕被按下,我設置setBackgroundResource()按下按鈕?如果你可以請添加一個部分代碼更多的解釋.. – SensorS