恢复输入框的内容

来源:互联网 发布:http请求返回json数据 编辑:程序博客网 时间:2024/04/27 20:46

1.在onDestroy方法中,在程序回收前用输出流把文本框的内容存储起来

 @Override    protected void onDestroy(){    super.onDestroy();    String inputText = edit.getText().toString();    save(inputText);    }        public void save(String inputText) {    FileOutputStream out = null;    BufferedWriter writer = null;    try{    out = openFileOutput("data", Context.MODE_PRIVATE);    writer = new BufferedWriter(new OutputStreamWriter( out ));     writer.write(inputText);    }catch(IOException e){    e.printStackTrace();    }finally{    try{    if(writer != null){    writer.close();    }    }catch (IOException e){    e.printStackTrace();    }    }    }

2.在onCreate方法中读出之前存储的字符

TextUtils.isEmlty可以同时判断字符串是null还是“”“

private EditText edit;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        edit = (EditText) findViewById(R.id.edit);        String inputText = load();        if (!TextUtils.isEmpty(inputText)) {        edit.setText(inputText);        edit.setSelection(inputText.length());//光标移动末端        Toast.makeText(this, "Restoring succeeded", Toast.LENGTH_SHORT).show();        }    }        public String load() {    FileInputStream in = null;    BufferedReader reader = null;    StringBuilder content = new StringBuilder();    try{    in = openFileInput("date");    reader = new BufferedReader(new InputStreamReader(in));    String line = "";    while ( (line = reader.readLine()) != null ){    content.append(line);    }    }catch (IOException e){    e.printStackTrace();    }finally{    if (reader != null){    try {    reader.close();    }catch(IOException e){    e.printStackTrace();    }    }    }    return content.toString();    }


0 0
原创粉丝点击