2010-11-10 76 views
2

Mon Google-Fu est défaillant ce débutant Android aujourd'hui.Intention avec PreferenceScreen dans preferences.xml

Quelqu'un connaît-il un bon exemple montrant comment lancer une intention à partir d'un PreferenceScreen?

Quelque chose comme:

<PreferenceScreen 
     android:key="preference_some_new_layout" 
     android:title="@string/pref_some_title"> 

      <intent android:action="????" /> 

    </PreferenceScreen> 

Je veux montrer un LinearLayout personnalisé qui me permet de définir des préférences semi-complexes.

Quelle est la meilleure façon de procéder?

Merci, WTS

+0

ce n'est pas ma réponse, mais il répond à votre question initiale, sur la façon de lancer une intention d'un PREFERENCE xml: http://stackoverflow.com/a/3751306/582004 – liucheia

Répondre

5

Je l'ai utilisé une boîte de dialogue personnalisée avant d'une préférence. Est-ce que c'est ce dont vous avez besoin? Here is an example from my open source app.

et here is the XML to add the preference to a PreferenceScreen.

<net.mandaria.tippytipper.preferences.DecimalPreference 
         android:key="exclude_tax" 
       android:title="Tax Rate to Exclude" 
       android:summary="The tax rate to exclude when calculating tip" 
       android:dialogMessage="Tax Rate" 
       android:defaultValue="0" 
       android:dependency="enable_exclude_tax_rate" 
       /> 

Cela vous permettra de produire des préférences complexes dans un DialogPreference (vous pourriez être en mesure d'échanger ceci si vous n'avez pas besoin d'un dialogue, quelqu'un d'autre devra remplir que pour vous parce que je n'ai jamais essayé) qui ressemblent à ceci:

alt text

+1

Ooh, je l'aime - je peux changer un peu ma conception et utiliser quelque chose comme ça ... –

+0

J'ai écrit un lit En savoir plus à ce sujet ici: http://www.bryandenny.com/index.php/2010/05/25/what-i-learned-from-writing-my-first-android-application/ Mais fondamentalement, vous devez faire Assurez-vous de conserver vos valeurs, c'est-à-dire mValue = getPersistedInt (mDefault); ou persistInt (valeur + mMin); –

+0

Exemples étonnants sur les préférences personnalisées, merci Bryan J'apprends beaucoup :-D merci pour le code de partage – rubdottocom