我有一个问题,应该记住保存用户通过语音输入的TextView中的文本,但是我启用了Night模式,当白天模式进入Night模式时,在那一刻消失了。我知道它需要是SharedPreferences,我尝试了这段代码,但是我无法记录任何内容。我强调没有保存按钮。刷新活动时,必须返回已经输入的文本。我需要帮助
/*...*/{
//...
myText = (TextView) findViewById(R.id.textView);
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (!TextUtils.isEmpty(restoredText)) {
myText.setText(restoredText);
}
//...
}
public void loadData() {
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("text", myText.getText().toString());
editor.commit();
}
答案 0 :(得分:0)
听起来您的活动已被杀死。如果是这种情况,那么您应该实现android活动生命周期方法onSaveInstanceState和onRestoreInstanceState。
protected void onSaveInstanceState(Bundle state) {
super.onSaveInstanceState(bundle);
state.putString("text", myText.getText().toString());
}
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
myText.setText(savedInstanceState.getString("text"));
}