Android fragments android:片段中的edittext在从新片段返回时不显示值

Android fragments android:片段中的edittext在从新片段返回时不显示值,android-fragments,android-edittext,Android Fragments,Android Edittext,当我从新片段返回到旧片段时,EditText setText()不会显示任何内容 从我的FragmentA活动中,我创建了FragmentA。我从FragmentA创建FragmentB,如下所示: FragmentB fragmentB = new FragmentB(); fragmentB.setTargetFragment(this, "RESULT"); FragmentTransaction transaction = getFragmentManager().beginTransa

当我从新片段返回到旧片段时,EditText setText()不会显示任何内容

从我的FragmentA活动中,我创建了FragmentA。我从FragmentA创建FragmentB,如下所示:

FragmentB fragmentB = new FragmentB();
fragmentB.setTargetFragment(this, "RESULT");
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.frl_view_container, fragmentB);
transaction.addToBackStack(null);
transaction.commit();
从FragmentB中,我将字符串值传递回FragmentA,然后返回FragmentA

这是我在FragmentB中使用的代码:

String res = "OK";
Intent intent = new Intent();
intent.putExtra("RESULT", res);
getTargetFragment().onActivityResult(getTargetRequestCode(), 0xFF, intent);
getFragmentManager().popBackStack();
res值通过FragmentA的onActivityResult成功传回:

String result;
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if ((resultCode == FragmentActivity.RESULT_OK) && ( requestCode == 0xFF) ) {
        result = data.getStringExtra("RESULT");
    }
}
然而,当我返回FragmentA的onCreateView时,我试图通过一个简单的调用显示我从FragmentB移植的结果:

edt_result.setText(result);
但是编辑文本没有显示任何内容!如果我简单地写下,也会发生同样的情况:

edt_result.setText("blah blah"); // The "blah blah" does not appear in my view!
你知道我怎样才能克服这个问题吗

当我回到FragmentA时,EditText会失去它的状态吗?我试图覆盖FragmentA的onSaveInstanceState方法,但当我将FragmentA留给FragmentB时,根本不调用onSaveInstanceState


非常感谢您的帮助。

答案是在onResume中而不是在onCreateView中调用setText。请阅读此处了解更多信息:


答案是在onResume中调用setText(),而不是在onCreateView中!在这里阅读更多:伟大的答案。。罢工了几个小时