Android在片段内保存/恢复xml小部件

时间:2015-04-17 16:37:30

标签: android android-fragments

在我的应用程序中我使用一些xml小部件(如EditText)使用简单的Fragment,在输入EditText并旋转手机EditText内容后,我无法找到有关此问题的任何有用文档,我试着尝试使用此代码不解决问题

public void onSaveInstanceState(Bundle savedInstanceState) {
        super.onSaveInstanceState(savedInstanceState);
        savedInstanceState.putString("contact", uiFiller.edt_waybill_id.getText().toString());
        Log.e("Save: ", edt_waybill_id.getText().toString());
    }
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        if (savedInstanceState!=null) {
            String contact = savedInstanceState.getString("contact");
            Log.e("Restore: ", contact);
            edt_waybill_id.setText(contact);
        }
    }

在这段代码中我可以保存和恢复,但是我不能将文本设置为EditText,问题是在旋转手机中我只有第一次创建的片段状态,如果我将setText正常放入onCreateView我可以成功恢复它,我无法输入EditText并在创建视图后恢复

1 个答案:

答案 0 :(得分:0)

使用uiFiller.edt_waybill_id.setText(contact)代替edt_waybill_id.setText(contact)

也许您在uiFiller.edt_waybill_id.setText(contact)也在呼叫onCreateView()