如何在保持同一活动的同时保存EditText文本并能够在之后使用它

时间:2012-10-19 02:45:47

标签: android android-intent android-activity android-edittext

我想弄清楚如何保存两个EditText的内容,但官方网站上的示例同时更改活动并显示它。

我想保存EditText内容而不更改活动,然后能够在活动更改时显示它们。

我觉得问题可能是我不理解Intent的工作方式

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main_screen);
    EditText editPositive = (EditText) findViewById(R.id.editPositive);
    EditText editNegative = (EditText) findViewById(R.id.editNegative);
    editPositive.addTextChangedListener(new TextWatcher() {

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
            Intent intent = null;
            EditText editPositive = (EditText) findViewById(R.id.editPositive);
            String positive = editPositive.getText().toString();
            intent.putExtra(POSITIVE_MESSAGE, positive);
            startActivity(intent);

        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
            // TODO Auto-generated method stub

        }

    }); `

现在我想保存这个editText的内容以供任何视图使用,但在开发者网站上的示例中,他们已经知道他们将使用editText的视图,它不会告诉你如何能够在任何视图上使用它。而不是

Intent intent = new Intent(this, DisplayMessageActivity.class);

我不知道一年365天的每一天我会使用editText的内容。这取决于用户在弹出的datePicker中输入的日期。我如何编写可以在任何视图中使用的意图?我猜这个方法没有进入创建,但这是我放置它时唯一没有出错的地方。

1 个答案:

答案 0 :(得分:0)

使用onTextChangedListener并在输入后立即保存editText值。

editText.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub              
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
                // TODO Auto-generated method stub              
            }

            @Override
            public void afterTextChanged(Editable s) {
                // TODO Auto-generated method stub
                //intent to another page where i show my search result
            }
        });
相关问题