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

Posted Chen_s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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);

    }

 

以上是关于Android——Activity恢复用户用EditText输入的数据的主要内容,如果未能解决你的问题,请参考以下文章

Android课程---Activity中保存和恢复用户状态

Android Fragment使用 Activity, Fragment, WebView的状态保存和恢复

Android:按home后恢复应用程序时,应用程序始终从根Activity启动

Android生命周期

Android——保存和恢复用户状态

Android之Activity的生命周期