关于edittext中的数据

时间:2016-05-20 07:15:02

标签: android

我对android很新,我有一个疑问。我正在处理一个应用程序,我的应用程序中有两个活动。在第一个活动中,我有edittext和一个按钮。一旦我在edittext中输入文本并单击按钮,它将进入第二个活动。现在我怀疑的是,如果我们从第二个活动回到第一个活动,我们已经在第一个活动的edittext视图中输入的文本应该在那里,即,我们应该能够看到我们在之前输入的edittext中输入的文本去第二次活动。我该怎么做。请帮帮我。

2 个答案:

答案 0 :(得分:1)

最好使用SharedPreferences完成 这样可以节省价值 您需要在活动加载时检索存储的数据(如果存在),并在单击按钮时保存它。

//should be called after setContentView()
//requires class variable myEditText to be the EditText you want to change
public void RetrieveData(){
        SharedPreferences sp = getSharedPreferences("mySharedPreferences", MODE_PRIVATE);
        myEditText.setText(sp.getString("savedstring",""));
    }

//should be called in the OnClick event of the button
//requires class variable myEditText to be the EditText
public void SaveData(){
    SharedPreferences sp = getSharedPreferences("mySharedPreferences", MODE_PRIVATE);
    SharedPreferences.Editor spe = sp.edit();
    spe.putString("savedstring",myEditText.getText().toString());
}

答案 1 :(得分:0)

如果您使用后退按钮或this.finish();返回第一个活动,是的,EditText将具有相同的文本。

如果您使用

打开新的第一个活动

Intent intent = new Intent(this, FirstActivity.class); startActivity(intent);

EditText将为空。 在这种情况下,您可以将意图中的文本从第1个活动传递到第2个,然后再从第2个活动传递到第1个。

要在意图中发送数据,您可以查看:How do I create an android Intent that carries data?

否则,请使用SQLite数据库或SharedPreferences(参见其他答案)