Fix potential NPE with Preference highlighting

- there are some cases where the ListView adapter is null

Change-Id: I9dcd171f57d9ca7b8032d890f5a18c3a01fd38cf
This commit is contained in:
Fabrice Di Meglio
2014-04-16 18:26:19 -07:00
parent 906ff6fdf9
commit 5035ec6944

View File

@@ -138,14 +138,16 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
private int findPositionFromKey(String key) { private int findPositionFromKey(String key) {
final ListAdapter adapter = getListView().getAdapter(); final ListAdapter adapter = getListView().getAdapter();
final int count = adapter.getCount(); if (adapter != null) {
for (int n = 0; n < count; n++) { final int count = adapter.getCount();
Object item = adapter.getItem(n); for (int n = 0; n < count; n++) {
if (item instanceof Preference) { Object item = adapter.getItem(n);
Preference preference = (Preference) item; if (item instanceof Preference) {
final String preferenceKey = preference.getKey(); Preference preference = (Preference) item;
if (preferenceKey != null && preferenceKey.equals(key)) { final String preferenceKey = preference.getKey();
return n; if (preferenceKey != null && preferenceKey.equals(key)) {
return n;
}
} }
} }
} }