【发布时间】:2018-11-15 15:14:36
【问题描述】:
我有两个数组,第一个由 9 个按钮组成。第二个可以容纳 9 个字符串。我有一个名为 getPlayerChoiceText 的方法,用于使用 playerchoice 数组中每个按钮上设置的文本填充字符串数组。如何使用 SharedPreferences 保存此文本?
private String[] getPlayerChoiceText()
{
playerchoiceText[0] = playerchoice[0].getText().toString();
playerchoiceText[1] = playerchoice[1].getText().toString();
playerchoiceText[2] = playerchoice[2].getText().toString();
playerchoiceText[3] = playerchoice[3].getText().toString();
playerchoiceText[4] = playerchoice[4].getText().toString();
playerchoiceText[5] = playerchoice[5].getText().toString();
playerchoiceText[6] = playerchoice[6].getText().toString();
playerchoiceText[7] = playerchoice[7].getText().toString();
playerchoiceText[8] = playerchoice[8].getText().toString();
return playerchoiceText;
}
private void saveData()
{
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREFS, MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
playerchoiceText = getPlayerChoiceText();
}
【问题讨论】:
-
为什么要为此维护两个数组?你不能用
Map<Button, String>吗?我认为SharedPreferences正在存储键值对,这与Map配合得很好。 -
如果必须是
SharedPreferences,请将您的字符串数组连接成一个长String,并在它们之间使用分隔符(例如:)。