Cómo setOnTouchListener () en un ListPreference?

Manejar onTouchEvent en una vista es sencillo ya que cada vista tiene el método setOnTouchListener () para hacer exactamente eso.

Por desgracia, aunque ListPreference es una vista, no se define en un XML de diseño, y por lo tanto no se puede acceder a través de findViewById (). Así que … No me parece que averiguar cómo setOnTouchListener () para ello.

Mi idea era conseguir una referencia a ella en el onCreate de PreferenceActivity (), entonces getDialog (). GetCurrentFocus () pero en ese momento particular en el tiempo, no tiene foco y ni siquiera un diálogo (getDialog () devuelve null, confirmado).

¿Alguna idea de cómo evitar esto?

Use registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener) para las preferencias compartidas, si está interesado en todas las preferencias o .setOnPreferenceChangeListener(listener) si sólo desea conocer los cambios en un elemento. Se le notificará cuando se cambie la preferencia.

  • Android PreferencesActivity para crear una preferencia MODE_WORLD_WRITEABLE entre aplicaciones
  • PreferenciaActividad: guardar valor como entero
  • Omita los encabezados en PreferenciaActividad cuando sólo hay un encabezado
  • ¿Por qué Kit Kat requiere el uso de isValidFragment?
  • Android anidado PreferenceScreen con ActionBar
  • color de fondo de la categoría de preferencia de Android
  • Implementación de "color selector" de Android PreferenceScreen
  • Establecer indicadores de intención para PreferenceScreen en xml
  • Cambiar el color de texto PreferenceActivity
  • NullPointerException en android.widget.ArrayAdapter.createViewFromResource
  • Cómo aplicar el tema a <PreferenceScreen> elementos de una <PreferenceCategory>
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.