Obtener la vista de preferencias personalizadas
En mi aplicación tengo un PreferenceScreen que se parece a esto:
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > <CheckBoxPreference android:key="state" android:title="@string/stateTitle" android:summary="@string/stateSummary" android:defaultValue="false" /> <Preference android:key="test" android:layout="@layout/pref_control" android:dependency="state" /> </PreferenceScreen>
Ahora mi pregunta es ¿cómo puedo obtener las vistas que están en mi pref_control.xml
de la PreferenceActivity? He intentado con findViewById()
normal findViewById()
pero que termina en una NullPointerException. Aquí está mi código que causa la excepción:
- NextFocusDown no funciona con AutoCopmleteTextView
- Android define el valor de cadena en String.xml
- ¿Pueden los recursos de ID de Android referirse hacia adelante?
- Android: Cómo colocar el icono de la cruz en la parte superior del texto de autocompletar
- Atributo desconocido androide: elevación
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); ((Button) findViewById(R.id.startTime)).setText("bla"); ((Button) findViewById(R.id.endTime)).setText("bla"); }
- Android: El editor XML predeterminado ya no se abre
- Crear, almacenar e inflar diseño personalizado en tiempo de ejecución
- Cómo cambiar el color de la actual desplazamiento en ScrollView Android?
- Cómo agregar un RelativeLayout como elemento de menú - Android
- Resize drawable en el elemento de lista de capas
- Diferencia entre? SelectableItemBackground,? Android: selectableItemBackground y? Android: attr / selectableItemBackground en Android?
- Los atributos de estilo no funcionan en las etiquetas de combinación
- La barra de herramientas no se muestra desde la barra de herramientas de contracción
Puedes obtener la Preferencia usando Preference p = findPrefences("test")
de la Actividad (o mejor, el PreferenceFragment, si usas versiones más recientes de Android).
En ese objeto se puede llamar .getView(convertView, parent)
. Para sus propósitos, debería estar bien llamar a ese método con null como paramters: findPreferences("test").getView(null, null)
.
HTH
Dado que utiliza PreferenceActivity, puede utilizar:
final CheckBoxPreference stateCheckBox = (CheckBoxPreference)findPreference("state");
Y presumiblemente:
final Preference testPreference = (Preference)findPreference("test");
Está obsoleto, pero debería funcionar.
- El reembolso / cancelación de Android In-App-Billing tarda mucho
- PagerTabStrip – mostrar todas las pestañas en la pantalla como una aplicación de tabulación barra de acción normal?