如何在活动更改时显示可见的EditText数据

时间:2012-03-09 10:38:01

标签: android

HellO朋友我正在我的程序中编辑文本,如果我正在那里写一些东西,如果我正在克服其他选项,这将转移到其他活动,当我回到同一页面时,我的编辑数据文字正在清除我不想清除数据如果我移动另一页可以任何机构告诉我该怎么做..我正在通过写下面的代码来做...

    if(PresetQuestion.value=="true")
    {
        String note1=note.getText().toString(); 
        note.setText(note1);
              }

但我并不担心我做得不好......

2 个答案:

答案 0 :(得分:1)

使用onSaveInstanceState(Bundle outState)onRestoreInstanceState(Bundle outState)

@Override
    public void onSaveInstanceState(Bundle outState)
    {
        EditText edttext=(EditText) findViewById(R.id.textone);

        outState.putString("textone", edttext.toString());
    }
    @Override
    public void onRestoreInstanceState(Bundle outState)
    {

        String strval=outState.getString("textone");
        EditText bddb=(EditText) findViewById(R.id.textone);
        bddb.setText("prvvalue");
        ///outState.putString(""+idtext+"", bddb.toString());
    }

答案 1 :(得分:0)

在转到其他活动时,如果您希望编辑文字显示以前输入的数据,则转到另一个活动时不应finish()您的活动。
    如果您对finish()之前的活动有此类要求,那么使用时应将日期保存在共享首选项中,如下所示:

//decleration
SharedPreferences sp;
SharedPreferences.Editor ed;
//onCreate
  sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
  ed = sp.edit();
String edittextvalue=sp.getString("edtvalue", "");
if(!edittextvalue.equalsIgnoreCase(""))
  {
  edittext.setext(edittextvalue);
  }
save.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
    String editvalue=edittext.getEditableText().toString();
    ed.putString("edtvalue", edtitvalue);
    ed.putInt("check", 1);
    ed.commit();
//start New Activity
  } 
 });