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) {
final ListAdapter adapter = getListView().getAdapter();
final int count = adapter.getCount();
for (int n = 0; n < count; n++) {
Object item = adapter.getItem(n);
if (item instanceof Preference) {
Preference preference = (Preference) item;
final String preferenceKey = preference.getKey();
if (preferenceKey != null && preferenceKey.equals(key)) {
return n;
if (adapter != null) {
final int count = adapter.getCount();
for (int n = 0; n < count; n++) {
Object item = adapter.getItem(n);
if (item instanceof Preference) {
Preference preference = (Preference) item;
final String preferenceKey = preference.getKey();
if (preferenceKey != null && preferenceKey.equals(key)) {
return n;
}
}
}
}