[英]How to edit global variables with EditText to pass the value to an other activity?
[英]how to save EditText's value after performing an other activity
我的第一個活動帶有兩個帶有提示提示的EditText字段,分別是名字和姓氏,當我進入第二個活動並通過小部件按鈕返回到第一個活動時,第一個活動中的EditText字段將被重置。
很簡單,我希望我的EditText字段在我的第一個活動中保持不變,因為我從第二個活動中重新訪問了第一個活動。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onButton1Click(View v)
{
Intent intent = new Intent (this,MainActivity2.class);
startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
}
解決方案-我將第二項活動更改為此。 剛剛添加了對我的Button的引用,並通過onBackPressed()應用了onClickListener; 碼。
setContentView(R.layout.activity_main2);
Button button = (Button)findViewById(R.id.button3); //gave reference of button in second activity
button.setOnClickListener(new View.OnClickListener() { //and applied an onClickListener with code onBackpressed();
public void onClick(View v) {
onBackPressed();
// Code here executes on main thread after user presses button
}
});
}
非常感謝@Narendra Sorathiya的指導。
如下所示打開secondActivity,
Intent i = new Intent(A.this,B.class);
startActivity(i);
finish();
至
Intent i = new Intent(A.this,B.class);
startActivityForResult(i,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
綁定控件后,在您的oncreate方法中編寫此代碼
並像這樣從sharedprefrence獲取數據
String fname= prefs.getString(FNAME, "");
String fname= prefs.getString(LNAME, "");
而不是像這樣將其設置為您的editext
editext.setText(fname);
editext2.setText(lname);
如有任何疑問,請通知我
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.