当我关闭活动然后重新打开活动时,如何获取文本视图中的任何内容?
public class ViewOffense extends Activity {
EditOffense eo = new EditOffense();
List<String> rosterLog;
List<String> oneRow;
Bundle bundle;
static String selection;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.viewoffense);
bundle = this.getIntent().getExtras();
if (bundle != null) {
String selection = bundle.getString("key");
TextView textview = (TextView) findViewById(R.id.textView2);
textview.setText(selection);
}
}
}
答案 0 :(得分:1)
销毁活动时,将textview值存储在共享首选项中。
@Override
public void onDestroy() {
super.onDestroy();
TextView tvText = (TextView) findViewById(R.id.YOURLAYOUTGOESHERE);
SharedPreferences.Editor prefEditor = getSharedPreferences("Preferences", Context.MODE_PRIVATE).edit();
prefEditor.putBoolean("text", tvText .getText().toString());
prefEditor.commit();
}
然后在onCreate中设置共享首选项中的textview文本。
TextView tvText = (TextView) findViewById(R.id.YOURLAYOUTGOESHERE);
SharedPreferences prefs = getSharedPreferences("Preferences", Context.MODE_PRIVATE);
if (prefs.contains("text")){
tvText .setText(prefs.getString("text", ""));
}
答案 1 :(得分:0)
步骤1:使用您要存储活动的值
创建一个bean第2步:在实例
中创建bean实例并存储活动值第3步:保持实例通过,直到你需要状态为活动
步骤4:当返回活动时,使用bean实例值初始化活动
答案 2 :(得分:0)
您应该探索Android中可用的各种storage options,以便在启动应用程序之间保留数据。
要存储单个TextView
的内容,使用SharedPreferences
可能就足够了。
您可能希望将值存储在onStop()
中并在onCreate()
中检索它。
例如:
public class ViewOffense extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
// Restore String
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String savedText = settings.getString("myText", "default text");
TextView textview = (TextView) findViewById(R.id.textView2);
textview.setText(savedText);
}
@Override
protected void onStop(){
super.onStop();
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
TextView textview = (TextView) findViewById(R.id.textView2);
String text = textview.getText().toString();
editor.putString("myText", text);
// Commit the edits!
editor.commit();
}
}
答案 3 :(得分:0)
将TextView
的当前值存储到onSaveInstanceState (Bundle outState)中的outState
。然后在onRestoreInstanceState (Bundle savedInstanceState)或onCreate (Bundle savedInstanceState)中,可以从savedInstanceState
检索该值。
答案 4 :(得分:0)
将值存储在onSaveInstanceState(Bundle)方法中。
String value;
yourbundle.putString("key",value);
您在onSaveInstanceState中存储的值将作为参数传递给您的onCreate / onRestoreInstanceState方法默认为ie.Bundle savedInstanceState您需要的所有内容是从savedInstanceState获取值
String data = savedInstanceState.getString("key defined earlier");
并将其设置为textview
这是临时数据的解决方案。对于持久存储使用首选项或将其写入sqlite数据库。