2010-06-07 4 views
1

Je ne vois aucun problème dans le code. Aidez-moi?Forcer la fermeture du message lorsque les préférences sont appelées via le bouton de menu

preferences.xml

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 


<ListPreference 
android:title="Gender" 
android:summary="Are you male or female?" 
android:key="genderPref" 
android:defaultValue="male" 
android:entries="@array/genderArray" 
android:entryValues="@array/genderValues" /> 


<ListPreference 
android:title="Weight" 
android:summary="How much do you weigh?" 
android:key="weightPref" 
android:defaultValue="180" 
android:entries="@array/weightArray" 
android:entryValues="@array/weightValues" /> 


</PreferenceScreen> 

arrays.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

<string-array name="genderArray"> 
<item>Male</item> 
<item>Female</item> 
</string-array> 
<string-array name="genderValues"> 
<item>male</item> 
<item>female</item> 
</string-array> 

<string-array name="weightArray"> 
<item>120</item> 
<item>150</item> 
<item>180</item> 
<item>210</item> 
<item>240</item> 
<item>270</item> 
</string-array> 
<string-array name="weightValues"> 
<item>120</item> 
<item>150</item> 
<item>180</item> 
<item>210</item> 
<item>240</item> 
<item>270</item> 
</string-array> 

</resources> 

Preferences.java:

package com.dantoth.drinkingbuddy; 


import android.os.Bundle; 
import android.preference.PreferenceActivity; 


public class Preferences extends PreferenceActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
addPreferencesFromResource(R.xml.preferences); 

}; 
} 

butts.xml (idk pourquoi il est mégots mais je me suis habitué à maintenant, il suffit de configurer le bouton du menu)

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/settings" 
    android:title="Settings" 
    android:icon="@drawable/ic_menu_settings" /> 
    <item android:id="@+id/archive" 
    android:title="Archive" 
    android:icon="@drawable/ic_menu_archive" /> 
    <item android:id="@+id/new_session" 
    android:title="New Session" 
    android:icon="@drawable/ic_menu_new" /> 
    <item android:id="@+id/about" 
    android:title="About" 
    android:icon="@drawable/ic_menu_about" />  
</menu> 

au sein DrinkingBuddy.java:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case R.id.settings: 

     startActivity(new Intent(this, Preferences.class)); 
     return true; 



    case R.id.archive:  Toast.makeText(this, "Expect to see your old drinking sessions here.", Toast.LENGTH_LONG).show(); 
     return true; 

    //ETC. 


} return false; 

Voilà. Je peux appuyer sur le bouton de menu sur le téléphone et voir les éléments de menu que j'ai créés, mais quand je clique sur le "Paramètres" (r.id.settings) il FC. Dois-je faire quoi que ce soit au manifeste/autre chose pour que cela fonctionne?

+0

Un message d'erreur devrait apparaître dans votre LogCat. Publier cela sur n'importe quel problème de FC aide généralement. – jqpubliq

Répondre

1

Vous devez avoir .Preferences dans votre manifeste, si ce n'est déjà fait.

De même, vérifiez la sortie de logcat (soit à partir de la vue LogCat dans Eclipse, soit en exécutant adb logcat sur la ligne de commande) pour avoir une idée du problème réel.

+0

Oui. Je suis un noob. Merci. –

Questions connexes