我是键盘映射和持久存储的新手。出于某种原因,当使用for循环获取地图变量时,我得到了额外的一行。一切似乎都正常,直到我更新textview并添加一个额外的字符串。
我将在下面发布我的代码片段 按下按钮后,我还会发布textview的屏幕截图。
static SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context context = this;
prefs = context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("test 01/16/1990 - 12:30AM", "211");
editor.putString("test 05/26/2017 - 9:50AM", "166");
editor.commit();
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.testTextView);
chart = (Button) findViewById(R.id.chartBtn);
chart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv.setText("Testing : \n");
Map<String,?> keys = prefs.getAll();
for(Map.Entry<String, ?> entry : keys.entrySet()){
tv.append("\n Dat-Time : " + entry.getKey() + " / Sugars: " + entry.getValue());
}
}
});