Android——Activity恢复用户用EditText输入的数据

说明:

在横屏输入的内容,在Activity销毁后,即横屏后,获取用户输入的内容

步骤:

1.在xml页面定义EditText的id

2.用onSaveInstanceState保存用户输入的数据

(1)调父类

(2)用findViewById使用id查找并获取View的实例(View所有控件的父类,再强制转换一下)

(3)找到实例,获取文本内容:转为字符串 get

(4)将获取到内容保存起来 put

3.用onRestoreInstanceState恢复数据

(1)先获取数据 get

(2)操作view实例 find

(3)设置文本框内容 set

excise1.xml

 <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40dp"
        android:id="@+id/ett"
        />

excise1.java

//恢复用户用EditText输入的数据

    //获取保存用户输入的数据

    //为方便定义成员变量
    String edd = "edittext";
    @Override
    protected void onSaveInstanceState(Bundle outState) {
        super.onSaveInstanceState(outState);

        //1.使用id查找并获取View的实例(View所有控件的父类,再强制转换一下)
        EditText et = (EditText)findViewById(R.id.ett);
        //2.找到实例,获取文本内容:转为字符串 get
        String str = et.getText().toString();//局部变量

        Log.e("tag","获取用户输入的内容"+str);

        //3.将获取到内容保存起来 put
        outState.putString(edd,str);//outState.putString("edittext",str);

    }


    //保存恢复用户输入的数据

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        //恢复用户输入的数据
        //先获取数据 get
        String str = savedInstanceState.getString(edd);//savedInstanceState.getString("edittext");
        Log.e("tag","恢复用户输入的内容"+str);
        //操作view实例
        //恢复输入框里面的内容(设置) set
        EditText et = (EditText)findViewById(R.id.ett); //为方便可定义全局变量EditText et
        et.setText(str);

    }
原文地址:https://www.cnblogs.com/Chenshuai7/p/5300257.html