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