2011-02-07 55 views
0

我已經創建了一個自定義按鈕,如下所示。Android中的自定義按鈕未保存狀態

文件:buttoncontrol.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/greendot" 
      android:state_pressed="true" /> 
    <item android:drawable="@drawable/reddot" /> 
</selector> 

在佈局文件..我用

<Button 
    ... 
     android:background="@drawable/buttoncontrol"></Button> 

當我嘗試運行該程序的佈局顯示了紅點(預期結果)按鈕。當我按下按鈕時,它會變成綠色,直到我鬆開按鍵。我怎樣才能使這個綠色,直到下一次點擊。更多的切換行爲。

我在切換按鈕中也嘗試過相同的xml文件。同樣的結果。

除此之外(用於測試),我也嘗試在活動中添加以下代碼。仍然沒有得到想要的結果。 (這是保存狀態)

...under onClick of Button/ToggleButton 
buttonControl.setPressed(true); 

有什麼建議?我的首選是避免以編程方式控制狀態。即我能夠始終保持這些圖像,並使用buttonContol.setBackgroundDrawable的按鈕

感謝

回答

0

我通過改變機器人制作切換按鈕的工作:state_pressed =「true」以機器人:state_checked =「真」。

但問題仍然存在於Button中。如何讓按鈕做類似的活動?特別是當有超過2個州時。

0

標準Button沒有持久狀態的概念。您必須創建一個跟蹤各種狀態的Button自定義實現。對不起,但是沒有辦法。