需要为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;
}
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...