1
0
Эх сурвалжийг харах

Removed setValue() from EditTextPreference, only needs setText(). Improved ListPreference.

Aidan Follestad 10 жил өмнө
parent
commit
a5bb978288

+ 2 - 6
library/src/main/java/com/afollestad/materialdialogs/prefs/MaterialEditTextPreference.java

@@ -40,12 +40,8 @@ public class MaterialEditTextPreference extends DialogPreference {
         return mEditText;
     }
 
-    public void setValue(String value) {
-        mText = value;
-    }
-
     public void setText(String text) {
-        setValue(text);
+        mText = text;
         final boolean wasBlocking = shouldDisableDependents();
         persistString(text);
         final boolean isBlocking = shouldDisableDependents();
@@ -140,7 +136,7 @@ public class MaterialEditTextPreference extends DialogPreference {
 
     @Override
     protected void onSetInitialValue(boolean restorePersistedValue, Object defaultValue) {
-        setValue(restorePersistedValue ? getPersistedString("") : defaultValue.toString());
+        mText = restorePersistedValue ? getPersistedString("") : defaultValue.toString();
     }
 
     // Instance saving code taken from the stock EditTextPreference code

+ 8 - 1
library/src/main/java/com/afollestad/materialdialogs/prefs/MaterialListPreference.java

@@ -16,6 +16,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
 public class MaterialListPreference extends ListPreference {
 
     private Context context;
+    private MaterialDialog mDialog;
 
     public MaterialListPreference(Context context) {
         super(context);
@@ -33,6 +34,12 @@ public class MaterialListPreference extends ListPreference {
             setWidgetLayoutResource(0);
     }
 
+    @Override
+    public void setEntries(CharSequence[] entries) {
+        super.setEntries(entries);
+        mDialog.setItems(entries);
+    }
+
     @Override
     protected void showDialog(Bundle state) {
         int preselect = findIndexOfValue(getValue());
@@ -63,6 +70,6 @@ public class MaterialListPreference extends ListPreference {
             builder.content(getDialogMessage());
         }
 
-        builder.show();
+        mDialog = builder.show();
     }
 }