Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 编辑文本框需要保存状态。请帮忙!_Android_Text_Edit - Fatal编程技术网

Android 编辑文本框需要保存状态。请帮忙!

Android 编辑文本框需要保存状态。请帮忙!,android,text,edit,Android,Text,Edit,我有一个EditText的代码,但我不知道如何为位于同一页的第二个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;

我有一个EditText的代码,但我不知道如何为位于同一页的第二个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);
    }
    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%有效

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;
}

您在实现第二个
EditText
时遇到了什么具体问题?如何创建
EditText
对象或实际保存第二个
EditText
的状态?问题缺乏详细信息。写下你的目标。是的,保存第二个编辑文本的状态。我无法编写代码来保存第二个编辑文本的状态。你在这里看到的代码只保存一个编辑文本,而不是第二个…@Andy:你的问题毫无意义。代码仅显示一个EditText-将第二个EditText添加到布局中(如
editText2
),并使用
editBox1
处理第一个,使用
editBox2
处理第二个。