2010-07-30 26 views

risposta

8

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:

  • I costruttori
  • onCreateDialogView() e onBindDialogView() per creare i contenuti di dialogo e popolare i contenuti con i dati di preferenza
  • onDialogClosed() da gestire quando l'utente cambia la preferenza
  • onGetDefaultValue() per gestire l'impostazione predefinita generale se la preferenza non è ancora impostata
  • onSetInitialValue() a uno carico nel valore di preferenza o utilizzare il predefinito
+0

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

+0

@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

1

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.

Problemi correlati