OnBindDialogView no llamado – ¿Por qué?

Estoy tratando de implementar una subclase de ListPreference y mientras su constructor está siendo llamado (al mostrarlo), su overriden onBindDialogView no lo es.

public MyListPreference(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub Log.v(TAG, "MyListPreference constructed."); } @Override protected void onBindDialogView(View view) { super.onBindDialogView(view); Log.v(TAG, "onBindDialogView called"); } 

¿Por qué está pasando esto? ¿Qué me estoy perdiendo?

Actualización : Planté un mensaje de registro en onCreateDialogView () y se está llamando, también.

Es sólo onBindDialogView () que no se está llamando.

¿Por qué? ¿Cuáles son las condiciones para invocar esta devolución de llamada?

¿Qué onCreateDialogView() su onCreateDialogView() ? onBindDialogView() se llama sólo si devuelve una vista personalizada no nula desde allí. Además, onBindDialogView() sólo se llama cuando realmente muestra la preferencia. Ref: Código fuente de DialogPreference . En particular, vea el método showDialog()

Si acaba de devolver la implementación super de su onCreateDialogView() , sospecho que devuelve null .

  • Android: ¿Hay una manera de mostrar DialogPreference desde el código?
  • Android SeekBarPreference
  • Android: ¿Cómo maximizar el ancho de PreferenceFragment (o deshacerse del margen)?
  • Preferencia de la casilla de verificación Android
  • Crear una DialogPreference desde XML
  • Personalización de CheckBoxPreference vía android: widgetLayout
  • Título de preferencia de Android / estilo de texto de resumen
  • ¿Cómo volver de Preferencias subscreen a la pantalla principal en PreferenceFragmentCompat?
  • Preferencias de diferentes alturas dentro de una PreferenciaActividad
  • Cambiar categoría de PreferenciaCategoría: título
  • Título de Preferencia de Android en dos líneas
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.