编辑Bundle extras并保存

时间:2016-06-01 14:28:08

标签: java android

所以我有一种情况,我从Intent extras填充TextView,然后允许用户编辑它。当用户点击编辑按钮时,EditText会出现,文本显示为TextView。

然后用户可以输入新值。

最后,当按下保存按钮时,新值不会保存,而是仍显示旧值。

这是我的代码:

Bundle extras = getIntent().getExtras();
        if (extras != null){
            textViewNazivTodoaDetails.setText(extras.getString("naslov"));
            textViewDatumTodoaDetails.setText(extras.getString("datum"));
            final int id = extras.getInt("id");

            String oldText = extras.getString("naslov");
            editTextDetaljnoIspravljanje.setText(oldText);
        }

        final String newText = editTextDetaljnoIspravljanje.getText().toString();

        buttonDetaljnoIspravljanjeDone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textViewNazivTodoaDetails.setText(newText);
            }
        });


    }

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在使用以下行清楚地将文本设置回onClick内的旧文本。

textViewNazivTodoaDetails.setText(newText);

你在onClick内不需要这一行。除此之外,您应该使用代码将新值保存到您想要保存的位置。

您在初始化newText之前调用的代码行在编辑之前调用,并包含与oldText相同的值。因此,您再次看到旧文本。

您的文字视图已包含新输入的文字。