Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何保存EditText';执行其他活动后的值_Java_Android - Fatal编程技术网

Java 如何保存EditText';执行其他活动后的值

Java 如何保存EditText';执行其他活动后的值,java,android,Java,Android,我的第一个活动有两个EditText字段,其中提示为名字和姓氏,每当我转到第二个活动并通过小部件按钮返回到第一个活动时,第一个活动中的EditText字段将被重置 我只是希望我的EditText字段在我的第一个活动中保持不变,就像我从第二个活动中重新访问第一个活动一样 MY MainActivity.java } My MainActivity2.java } 解决方案-我将第二项活动改为此。只是添加了对我的按钮的引用,并使用onBackPressed()应用了onClickListener;代

我的第一个活动有两个EditText字段,其中提示为名字和姓氏,每当我转到第二个活动并通过小部件按钮返回到第一个活动时,第一个活动中的EditText字段将被重置

我只是希望我的EditText字段在我的第一个活动中保持不变,就像我从第二个活动中重新访问第一个活动一样

MY MainActivity.java } My MainActivity2.java } 解决方案-我将第二项活动改为此。只是添加了对我的按钮的引用,并使用onBackPressed()应用了onClickListener;代码



非常感谢@Narendra Sorathiya的指导。

打开下面的第二个活动

Intent i = new Intent(A.this,B.class);
startActivity(i);
finish();

不要从第二个活动中打开第1个活动,只需反向按。

试试这个 在活动顶部声明所有变量

public static final String MyPREFERENCES = "MyPrefs" ;
public static final String FNAME = "fname";
public static final String LNAME = "lname";

SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

// store login data in sharedpreferences
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(FNAME, edittext.getText());
editor.putString(LNAME, edittext2.getText());
editor.commit(); //save data in  sharedpreferences
在进行下一项活动时编写此代码

public static final String MyPREFERENCES = "MyPrefs" ;
public static final String FNAME = "fname";
public static final String LNAME = "lname";

SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

// store login data in sharedpreferences
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(FNAME, edittext.getText());
editor.putString(LNAME, edittext2.getText());
editor.commit(); //save data in  sharedpreferences
绑定控件后,在oncreate方法中编写此代码

然后像这样从SharedPreference获取数据

String fname= prefs.getString(FNAME, "");
String fname= prefs.getString(LNAME, "");
editext.setText(fname);
editext2.setText(lname);
然后像这样将它设置为EditText

String fname= prefs.getString(FNAME, "");
String fname= prefs.getString(LNAME, "");
editext.setText(fname);
editext2.setText(lname);

如果有任何疑问,请告诉我

您是否阅读了
意图
?只需将其保存在SharedRef中,然后restore@MuratK. 你是什么意思?@jagapathi你能和我分享代码吗我是java的初学者,所以我很难自己管理这些事情。你能分享你的代码吗?向堆栈中添加一个活动不应该重置以前的活动,因此我认为其他活动也在进行中。是的,它起作用了,但是有没有办法不按“后退”按钮就可以得到相同的结果?就像在第二个活动中创建一个按钮来访问第一个活动并获得相同的结果一样。只需在该按钮内添加onBackPressed(),单击事件我应该将其放入clickeventlistener吗?Narendra,但不是我要寻找的确切答案。是的,除了nilesh代码之外,您还需要将其放入ClickListener,在将文本设置为EditTextText之前,不要忘记设置空检查。我应该在哪里编写您给出的第一个代码?在我的第一次活动还是第二次活动中?我是一个新的初学者,所以管理这些代码对我来说有点困难。活动顶部的deaclere变量在edittext1、edittext2和两个Pref上出现错误“无法解析符号”,请遵循以下步骤
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String FNAME = "fname";
public static final String LNAME = "lname";

SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

// store login data in sharedpreferences
SharedPreferences.Editor editor = sharedpreferences.edit();
editor.putString(FNAME, edittext.getText());
editor.putString(LNAME, edittext2.getText());
editor.commit(); //save data in  sharedpreferences