Instanciar una clase interna (Preferencia) en un archivo xml

Cuando desea acceder a una vista personalizada en algún archivo layout.xml , tiene dos opciones:

  1. La vista es en su propia clase. Entonces usted hace <package.name.MyView android:layout_width= ... />
  2. La vista es una clase interna: <view class="package.name.OuterClass$MyView" android:layout_width= ... />

Ahora quiero hacer lo mismo dentro de una <PreferenceScreen> . La primera manera funciona bien, pero me gustaría poner todas las clases de Preference personalizado juntos en mi PreferenceActivity. He intentado <Preference class="package.name.OuterClass$MyPreference" ... /> (también con '.' En lugar de '$') así como <package.name.OuterClass.MyPreference ... /> , pero Ambos fallaron.

¿Alguien tiene alguna idea?

One Solution collect form web for “Instanciar una clase interna (Preferencia) en un archivo xml”

Cuando se trata de Views LayoutInflater , LayoutInflater busca un caso "view" -> "class":

 View createViewFromTag(View parent, String name, AttributeSet attrs) { if (name.equals("view")) { name = attrs.getAttributeValue(null, "class"); } ... 

PreferenceInflater de PreferenceInflater no, por lo que es para el caso "clase".

Utiliza la reflexión en su método createItem() y es probablemente por eso que el primer caso funciona para usted.

  • SpinnerPreference? (Cómo incrustar un Spinner en una pantalla de Preferencias)
  • Actividad de preferencia en el oyente de clics de preferencia
  • Usar TimePicker o DatePicker en la pantalla Preferencias en Android
  • Almacenar cookie en las preferencias compartidas
  • DefaultValue de archivo de preferencia de xml no está almacenado - ¿por qué?
  • Cómo agregar un hipervínculo a una pantalla de preferencias (PreferenceActivity)
  • ¿Cómo obtener preferencias de tono en tiempo de ejecución?
  • Preferencias de Android, cómo establecer la dependencia de las preferencias personalizadas
  • Mailto de preferencias xml posible?
  • ¿Cómo puedo mostrar un Diálogo de un PreferenceFragment?
  • Actualizar el elemento de preferencia existente en una PreferenciaActividad al regresar de una (sub) PreferenciaScreen
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.