Puoi dirmi come posso creare la mia classe di preferenza in andorid? con il mio layout e il proprio listener di clic?Come creare la mia classe di preferenza
Grazie.
Puoi dirmi come posso creare la mia classe di preferenza in andorid? con il mio layout e il proprio listener di clic?Come creare la mia classe di preferenza
Grazie.
Bene, sono circa sei o sette pagine in un book, quindi è un po 'complicato per una risposta StackOverflow. :-)
Here is a sample project con un numero personalizzato View
, che viene anche inserito in un numero personalizzato Preference
. Sono solo ~ 80 righe di codice, sebbene molte delle intelligenze dell'interfaccia utente siano associate alla classe personalizzata View
.
In poche parole, fare un DialogPreference
, è necessario definire:
onCreateDialogView()
e onBindDialogView()
per creare i contenuti di dialogo e popolare i contenuti con i dati di preferenzaonDialogClosed()
da gestire quando l'utente cambia la preferenzaonGetDefaultValue()
per gestire l'impostazione predefinita generale se la preferenza non è ancora impostataonSetInitialValue()
a uno carico nel valore di preferenza o utilizzare il predefinitoCredo che questo campione è più comprensibile ed è ben rappresentato: http://www.codeproject.com/KB/android/seekbar_preference.aspx
Così come le altre due risposte, ho trovato anche un buona idea per guardare il codice sorgente di Android. Ad esempio, CheckBoxPreference e DialogPreference. Nessuna delle due classi è molto grande, quindi se riesci a capire come funzionano, dovresti essere in grado di implementare la tua.
Creo una classe quale sottoclasse DialogPreference e sovraccarico suCreateDialogView e onBindDialogView(), ma per qualche motivo, quando eseguo il debugger, questi due metodi non vengono mai richiamati. E vedo vuoto come la preferenza quando eseguo il debug in emulatore. – michael
@michael: è difficile per me consigliarvi in astratto. Un'opzione è che tu possa clonare il mio codice, farlo funzionare, quindi convertirlo in quello che ti serve passo passo. – CommonsWare