Ich möchte eine Liste mit Ergebnissen für meine Quiz-App erstellen. Wenn Sie das Quiz abgeschlossen haben, erhalten Sie eine Punktzahl, und ich speichere sie mit Shared Preferences (und auch dem Namen des Players). Dann, in ScoreActivity, bekomme ich den Benutzernamen und die Punktzahl und ich möchte, dass sie zur Liste hinzugefügt werden. Aber ich weiß nicht, warum die Liste nur die letzte Punktzahl enthält.Ergebnis in Listenansicht von sharedpreferences
Hier mein ScoreActivity.class ist, vielleicht können Sie mir helfen:
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);
}
}
Dank!
Können Sie mir den Code zeigen, wie Sie die Punktzahl und den Benutzernamen speichern? –
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 ("Name", editName.getText(). ToString()); editor.apply(); – AdinaB
Sie speichern nur eine Bewertung und einen Nutzernamen. Sie erhalten also nur eine Bewertung und einen Nutzernamen. –