private void bindPreferences() {
   PreferenceScreen localPreferenceScreen = getPreferenceScreen();
   if (localPreferenceScreen != null) {
     ListView localListView = getListView();
     localPreferenceScreen.bind(localListView);
   }
 }
  private void bindPreferences() {
    final PreferenceScreen preferenceScreen = getPreferenceScreen();
    if (preferenceScreen == null) {
      return;
    }
    preferenceScreen.bind(getListView());

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD_MR1) {
      // Workaround android bug for SDK 10 and below - see
      // https://github.com/android/platform_frameworks_base/commit/2d43d283fc0f22b08f43c6db4da71031168e7f59
      getListView()
          .setOnItemClickListener(
              new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                  // If the list has headers, subtract them from the index.
                  if (parent instanceof ListView) {
                    position -= ((ListView) parent).getHeaderViewsCount();
                  }

                  Object item = preferenceScreen.getRootAdapter().getItem(position);
                  if (!(item instanceof Preference)) {
                    return;
                  }

                  final Preference preference = (Preference) item;
                  try {
                    Method performClick =
                        Preference.class.getDeclaredMethod("performClick", PreferenceScreen.class);
                    performClick.setAccessible(true);
                    performClick.invoke(preference, preferenceScreen);
                  } catch (InvocationTargetException
                      | IllegalAccessException
                      | NoSuchMethodException ignored) {
                  }
                }
              });
    }
  }
Beispiel #3
0
 private void bindPreferences() {
   final PreferenceScreen preferenceScreen = getPreferenceScreen();
   if (preferenceScreen != null) {
     preferenceScreen.bind(getListView());
   }
 }
 private void bindPreferences() {
   final PreferenceScreen preferenceScreen = getPreferenceScreen();
   if (preferenceScreen != null) {
     preferenceScreen.bind(_lv);
   }
 }