2012-06-21 11 views
9

Desidero aprire alcune preferenze (che vengono eseguite estendendo DialogPreference) all'avvio della prima app. Inoltre, queste preferenze vengono utilizzate come normali preferenze.Android: c'è un modo per mostrare DialogPreference dal codice?

C'è un modo per realizzare questo?

EDIT:

Ho la mia preferenza su misura, fatta in questo modo:

public class CitySelectPreference extends DialogPreference { 
// Some code here 
} 

E come la soluzione lo voglio per essere mostrato dal codice, senza la necessità di utenti di arrivare a schermata delle preferenze.

+0

quale versione stai compilazione contro perché a seconda che ci sono alcuni modi – tyczj

+0

sto rivolte android 2.2 ... Inoltre, ha trovato qui un po 'di risposta: http: // stackoverflow.com/a/4869034/1048087 – Prizoff

+0

Potrei essere fraintendere la tua domanda, ma cosa c'è di sbagliato nel mostrare la preferenza del dialogo nel metodo oncreate dell'attività? – hmdavis

risposta

0

solo fare questo:

CitySelectPreference preference = (CitySelectPreference) findPreference("city_pref_key") 

//You have to set a key to yout PreferenceScreen 
PreferenceScreen screen = (PreferenceScreen) findPreference("screen_pref_key"); 

//Retrieve the index of the preference in preferenceScreen 
int index = preference.getOrder(); 

//Perform a click 
screen.onItemClick(null, null, index, 0);