如何解决需要为EditText框保存状态请帮忙!
| 我有一个EditText的代码,但是我不知道如何为位于同一页面上的第二个EditText Box编写相同的代码。这是我的代码:package tryone.now.forfreenow;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class notepad extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editBox =(EditText)findViewById(R.id.editText1);
}
protected void onResume() {
super.onResume();
SharedPreferences prefs = getPreferences(0);
String restoredText = prefs.getString(\"text\",null);
if (restoredText != null) {
editBox.setText(restoredText,TextView.BufferType.EDITABLE);
int selectionStart = prefs.getInt(\"selection-start\",-1);
int selectionEnd = prefs.getInt(\"selection-end\",-1);
if (selectionStart != -1 && selectionEnd != -1) {
editBox.setSelection(selectionStart,selectionEnd);
}
}
}
protected void onPause() {
super.onPause();
SharedPreferences.Editor editor = getPreferences(0).edit();
editor.putString(\"text\",editBox.getText().toString());
editor.putInt(\"selection-start\",editBox.getSelectionStart());
editor.putInt(\"selection-end\",editBox.getSelectionEnd());
editor.commit();
}
private EditText editBox;
}
解决方法
我正在回答自己的问题,它可以100%保存两个editText框上的状态。
package tryone.now.forfreenow;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class notepad extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
editBox = (EditText) findViewById(R.id.editText1);
editBox2 = (EditText) findViewById(R.id.editText2);
}
protected void onResume() {
super.onResume();
SharedPreferences prefs = getPreferences(0);
String restoredText = prefs.getString(\"text\",null);
if (restoredText != null)
{
editBox.setText(restoredText,TextView.BufferType.EDITABLE);
int selectionStart = prefs.getInt(\"selection-start\",-1);
int selectionEnd = prefs.getInt(\"selection-end\",-1);
if (selectionStart != -1 && selectionEnd != -1)
{
editBox.setSelection(selectionStart,selectionEnd);
}
SharedPreferences prefs2 = getPreferences(1);
String restoredText2 = prefs2.getString(\"text2\",null);
if (restoredText2 != null)
{
editBox2.setText(restoredText2,TextView.BufferType.EDITABLE);
int selectionStart2 = prefs2.getInt(\"selection-start2\",-1);
int selectionEnd2 = prefs2.getInt(\"selection-end2\",-1);
if (selectionStart2 != -1 && selectionEnd2 != -1)
{
editBox2.setSelection(selectionStart2,selectionEnd2);
}
}
}
}
protected void onPause() {
super.onPause();
SharedPreferences.Editor editor = getPreferences(0).edit();
editor.putString(\"text\",editBox.getText().toString());
editor.putInt(\"selection-start\",editBox.getSelectionStart());
editor.putInt(\"selection-end\",editBox.getSelectionEnd());
editor.commit();
SharedPreferences.Editor editor2 = getPreferences(1).edit();
editor2.putString(\"text2\",editBox2.getText().toString());
editor2.putInt(\"selection-start2\",editBox2.getSelectionStart());
editor2.putInt(\"selection-end2\",editBox2.getSelectionEnd());
editor2.commit();
}
private EditText editBox;
private EditText editBox2;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。