恢复输入的编辑文本值

时间:2018-07-13 09:33:01

标签: android android-edittext

该值输入到活动A中的编辑文本中。如果不保存又返回A转到另一个活动B,则活动A中的编辑文本中的表单值将被清除。如何还原编辑文本值?

getTools()

3 个答案:

答案 0 :(得分:1)

选中此question,您无需以任何方式保存文本,只需放置finish()  在第二次活动结束时

答案 1 :(得分:1)

您需要的是在活动A中覆盖onSaveInstanceState并按如下所示存储您的编辑文本的值:

 @Override
public void onSaveInstanceState(Bundle outState) {

outState.putString(TEXT_VIEW_KEY, mTextView.getText());

// call superclass to save any view hierarchy
super.onSaveInstanceState(outState);

}

现在您的onCreate活动中应检查是否有以前保存的数据,然后初始化textview

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// recovering the instance state
if (savedInstanceState != null) {
    String text  = savedInstanceState.getString(TEXT_VIEW_KEY,);
}


setContentView(R.layout.main_activity);

// initialize member TextView so we can manipulate it later
mTextView = (TextView) findViewById(R.id.text_view);
mTextView.setText(text);

}

您可能还需要检查android的体系结构组件,尤其是生命周期感知组件,以减轻您的工作时间。

答案 2 :(得分:0)

这不是Android的默认行为。

活动A将保留值,直到完成(销毁)为止。检查您是否没有在finish()之后致电startActivity()

某些解决方案可以。