2013-11-06 4 views
2

У меня есть следующее предпочтение в моем XML файл:Значения из CheckBoxPreference не сохраняются

<?xml version="1.0" encoding="utf-8"?> 
<CheckBoxPreference android:title="Alert" android:widgetLayout="@layout/preference_checkbox" android:key="alert" 
    /> 

Я хотел сделать свой собственный флаг, так как вы можете видеть выше, я дал это предпочтение «Android: widgetLayout» параметр, который ссылается на данный файл:

<CheckBox 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:button="@drawable/checkbox" 
android:id="@+id/alert"> 

Проблема: с параметром (widgetLayout), она не сохраняет значение флажка. Поэтому, если я открываю настройки CheckBox, проверяется. Затем, если я сниму его и снова откройте настройки, значение из ранее не сохраняется или оно не сохраняется. У меня нет таких проблем, если я использую CheckBoxPreference без параметра «android: widgetLayou», который в этом случае сохраняет значение.

Любые идеи?

ответ

4

Вы можете просто исправить это:

1- изменения чекбокс идентификатор андроида: ID = "@ андроид: идентификатор/CheckBox

2- установить эти 3 AttrS:

андроид: focusableInTouchMode = "ложь"

андроид: кликабельны = "ложь"

android: focusable = "false"

<CheckBox 
android:id="@android:id/checkbox" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:button="@drawable/checkbox" 
android:clickable="false" 
android:focusable="false" 
android:focusableInTouchMode="false" > 
Смежные вопросы