使用持久数据和键盘映射时获得额外的一行。我该如何解决?

时间:2017-05-28 00:29:59

标签: java android hashmap sharedpreferences

我是键盘映射和持久存储的新手。出于某种原因,当使用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());
                }
            }
        });

enter image description here

0 个答案:

没有答案