我在我的片段之一中使用ToggleButtons時遇到了一些麻煩。我有一個主要的活動,我加載了一些我添加到BackStack的片段。Android:當使用back stack(片段)時,可繪製選擇器未更新
在其中的一個片段中,我有一個列表視圖,其上有3個ToggleButtons。這些按鈕有一個可繪製的背景:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape android:shape="oval">
<solid android:color="@color/greenbutton" />
<stroke android:width="4dp" android:color="@color/actionBlueLight"/>
</shape>
</item>
<item android:state_checked="false">
<shape android:shape="oval">
<solid android:color="@color/greenbutton" />
</shape>
</item>
</selector>
當我按下其中一個按鈕時,過濾我的ListView。我可以在我的列表中選擇一個項目,它將啓動另一個片段(也添加到背堆棧中)。
我的問題是當我按下後退按鈕並回到我的ListView片段,按鈕的背景不更新。我的意思是,我把 在我的片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance) {
...
Log.d(TAG,"Green = "+buttonGreen.isChecked());
Log.d(TAG,"Orange = "+buttonOrange.isChecked());
Log.d(TAG,"Red = "+buttonRed.isChecked());
...
}
所有按鈕似乎未選中,但是這是覈對按鈕(從器isChecked()來)之前,我切換到另一個片段仍然有背景對應state_checked =「真」。
我試圖invalidate()按鈕來刷新他們在onCreateView但它什麼都不做。