在我的应用程序中构建一个后退按钮并存储edittext字段

时间:2012-10-15 17:36:58

标签: android android-intent

我的应用中有2个观看次数。表单输入和屏幕,用于查看表单数据并确认。用户在编辑文本字段中的表单提交屏幕上输入数据。当用户点击提交时,会向他们显示他们输入的数据以及“后退”和“确认”按钮。我想要它,以便如果用户按下它们,它们将返回到表单输入屏幕,它们输入的数据仍然应该在editText字段中。

目前,我正在使用onClickListener指向表单提交屏幕,但表单都是空白的。如何将数据保存在其中?

这是onClickListener:

bBack.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent j = new Intent(FormConfirm.this, FormCreate.class);
            startActivity(j);
        }
    });

3 个答案:

答案 0 :(得分:2)

我不知道如何在Android应用上编写代码,但我认为,为什么你不将它们存储到变量标志中并在编辑文本字段中调用它们? 例如,如果您已填写表单并单击“提交”,则可以首先在变量标志上创建商店数据功能,并在表单提交中显示数据,因此当您单击“返回”按钮时,可以调用存储在变量上的值标记为edittext。

我希望我的回答可以给你一些启发

答案 1 :(得分:1)

有灵感并找到了一个可能不一定正确的解决方法,但它确实有效:)只需将活动的Java代码更改为以下内容:

bBack.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            finish();
        }
    });

答案 2 :(得分:1)

如上所述,您应该以某种方式保存值,例如使用SharedPreferences。

例如,当您从Input - 表单活动转到Submit - 表单活动时:

bSubmit.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        Intent j = new Intent(FormCreate.this, FormSubmit.class);
        saveInput();
        startActivity(j);
    }
});

方法saveInput()可能类似于:

private void saveInput() {
    EditText input = (EditText) findViewById(R.id.someId);
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    preferences.edit().putString("input",input.getText().toString()).commit();   
}

然后,当你按回来时,后退动作可能就像是:

bBack.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        FormConfirm.this.finish();
    }
});

这将导致当前活动退出,并且您之前的活动将可见。如果要在Input - 表单活动开始时显示上次保存的输入,您可以执行以下操作:

private void loadInput(){
    EditText input = (EditText) findViewById(R.id.someId);
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
    String savedText = getString("input", "default input text");
    input.setText(savedText);   
}

并在onCreate - 表格活动的Input - 方法中调用该方法。