我来这里之前做了很多试验,我需要用户找到输入的相同值
他回来时的一项 Activity ,我做了这段代码,但它不起作用:
public class ActivityUn extends Activity {
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putString("arm_1", rm_1ts);
savedInstanceState.putString("arm_2", rm_2ts);
super.onSaveInstanceState(savedInstanceState);
}
public void ajouter(View v) {
db.open();
long id = db.insertMENAGE(rm_1ts,rm_2ts); }
EditText rm_1;
EditText rm_2;
String rm_1ts = "";
String rm_2ts = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_un);
rm_1 = (EditText)findViewById(R.id.rm_1);
rm_2 = (EditText)findViewById(R.id.rm_2);
if (savedInstanceState != null) {
// Restore value of members from saved state
rm_1ts = savedInstanceState.getString("arm_1");
rm_2ts = savedInstanceState.getString("arm_2");
rm_1.setText(rm_1ts);
rm_2.setText(rm_2ts);
}
Button bton = (Button)findViewById(R.id.ajoutUn);
bton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rm_1ts = rm_1.getText().toString();
rm_2ts = rm_2.getText().toString();
ajouter(v);
}
});
最佳答案
问题是 onSaveInstanceState
仅在您的 Activity
通过系统被终止以释放内存或第 3 方应用程序时调用。但是,当您在 Activity
中按下后退按钮时,它就等同于 finish()
。在这种情况下,不会调用 onSaveInstanceState
。因此,如果您想在每次创建 Activity
时都存储数据,只需将值存储在 SharedPreference
中即可。您可以根据需要将值存储在 onStop
或 onPause
方法中。
Here您可以详细了解 SharedPrefence 和其他类型的存储选项。
关于android - 在android中编辑文本保存状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551319/