Android fragment.getView()在反压后返回null

Android fragment.getView()在反压后返回null,android,android-fragments,Android,Android Fragments,我试图在活动的附加片段下更改textview,因此我将attachedFragment存储为变量,如下代码所示 @Override public void onAttachFragment(android.support.v4.app.Fragment fragment) { super.onAttachFragment(fragment); attachedFragment = fragment; } 然后,当点击一个按钮时,我调用以

我试图在活动的附加
片段
下更改
textview
,因此我将
attachedFragment
存储为变量,如下代码所示

    @Override
    public void onAttachFragment(android.support.v4.app.Fragment fragment) {
        super.onAttachFragment(fragment); 
        attachedFragment = fragment;
    }
然后,当点击一个按钮时,我调用以下代码

        if(attachedFragment !=  null && attachedFragment.getView() != null)
        {
            TextView tvGender = (TextView) attachedFragment.getView().findViewById(R.id.tv_gender);
            if(tvGender!=null)
                tvGender.setText(R.string.title_step_one_gender);
        }
当我开始活动时,它工作正常,直到我变成下一个片段并按下;
attachedFragment.getView()
始终返回null

我的问题:

  • 当第一次还行时,它怎么可能返回null
  • 更改textview/任何其他控件的最佳解决方案是什么 碎片内?有很多碎片,我只需要 更改附加的片段

  • 注意:以上所有代码都在主要活动下

    如果我误解了你的问题,请纠正我。听起来您的情况是,先附加片段A,然后附加片段B,然后按back,留下片段A。在本例中,attachedFragment只是一个变量,所以它继续指向B,但由于B现在已分离,因此它为空。按back不会用片段A重新填充变量attachedFragment


    尝试使用findFragmentById或findFragmentByTag。查看此以了解更多信息

    我想除了检查附件碎片之外null,您还应该确保attachedFragment.isDetached()也为false。