我在我的應用程序中有兩個活動,現在我想保存editText的文本,當用戶轉到下一個時,由用戶給出並返回到MainActivity之後值應該放在editText中我的代碼是在活動切換期間無法保存日期
public class MainActivity extends Activity {
EditText editText;
String name = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
if(savedInstanceState == null){
editText.setText("Some Thing");
}else{
String newValue = savedInstanceState.getString("myData");
editText.setText(newValue);
}
Log.d("ARSHAY....", "in onCreate()");
}
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(savedInstanceState);
editText = (EditText) findViewById(R.id.editText1);
name = editText.getText().toString();
savedInstanceState.putString("myData", name);
}
public void goToNextArsh(View view) {
Intent intent = new Intent(MainActivity.this, Second.class);
startActivity(intent);
}
}
但是這不會在返回到MainActivity時設置新輸入。 確實知道如何做到這一點?
http://developer.android.com/training/basics/data-storage/index.html – donfede 2013-02-21 04:20:55
使用[SharedPreference](HTTP:// developer.android.com/reference/android/content/SharedPreferences.html)。這裏是一個[示例](http://stackoverflow.com/questions/3624280/how-to-use-sharedpreferences-in-android-to-store-fetch-and-edit-values) – Renjith 2013-02-21 04:29:10
首先!感謝你們倆。我嘗試了這些所有的方法,我得到editText的價值像'getPreferences(MODE_PRIVATE).edit()。putString(「som.arshay.retreive.data」,editText.getText()。toString())。 '在onPasue()方法中獲取值,並像'String newValue = getPreferences(MODE_PRIVATE).getString(「som.arshay.retreive.data」,editText.getText()。toString()); \t \t \t editText.setText(newValue);'。但仍然無法實現我想要的結果... – 2013-02-21 04:55:42