Allow restore instance before setValues() in ListDialogPreference
BUG: 14570831 Change-Id: I0fd24acab5221d1414f749ec18e70a72f36cc5e4
This commit is contained in:
@@ -82,6 +82,10 @@ public abstract class ListDialogPreference extends DialogPreference {
|
|||||||
*/
|
*/
|
||||||
public void setValues(int[] values) {
|
public void setValues(int[] values) {
|
||||||
mEntryValues = values;
|
mEntryValues = values;
|
||||||
|
|
||||||
|
if (mValueSet && mValueIndex == AbsListView.INVALID_POSITION) {
|
||||||
|
mValueIndex = getIndexForValue(mValue);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -172,10 +176,12 @@ public abstract class ListDialogPreference extends DialogPreference {
|
|||||||
*/
|
*/
|
||||||
protected int getIndexForValue(int value) {
|
protected int getIndexForValue(int value) {
|
||||||
final int[] values = mEntryValues;
|
final int[] values = mEntryValues;
|
||||||
final int count = values.length;
|
if (values != null) {
|
||||||
for (int i = 0; i < count; i++) {
|
final int count = values.length;
|
||||||
if (values[i] == value) {
|
for (int i = 0; i < count; i++) {
|
||||||
return i;
|
if (values[i] == value) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user