Je veux créer une liste avec des scores pour mon application de quiz. Lorsque vous avez terminé le quiz, vous obtenez un score et je le sauvegarde avec les préférences partagées (ainsi que le nom du joueur). Ensuite, dans ScoreActivity, j'obtiens le nom d'utilisateur et le score et je veux les ajouter à la liste. Mais je ne sais pas pourquoi la liste a juste le dernier score dedans.score dans la listview de sharedpreferences
Voici mon ScoreActivity.class, vous pouvez peut-être me aider:
public class ScoreActivity extends Activity {
ListView listView;
List<String> scoreList = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_score);
listView=(ListView) findViewById(R.id.listView_score);
SharedPreferences sharedPref = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
String name = sharedPref.getString("name","");
SharedPreferences sharedPreferences = getSharedPreferences("userScore", Context.MODE_PRIVATE);
String score = sharedPreferences.getString("score","");
scoreList.add(name+" "+score);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
this,
R.layout.my_list, scoreList);
listView.setAdapter(arrayAdapter);
}
}
Merci!
Pouvez-vous me montrer le code, comment enregistrer la partition et le nom d'utilisateur? –
SharedPreferences sharedPreferences = getSharedPreferences ("userScore", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString ("score", String.valueOf (score)); editor.apply(); SharedPreferences sharedPref = getSharedPreferences ("userInfo", Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putString ("nom", editName.getText(). ToString()); editor.apply(); – AdinaB
YOu ne sauvegardez qu'une seule partition et un seul nom d'utilisateur. Donc, vous obtenez seulement un score et un nom d'utilisateur. –