Java Android-无法再次打开片段
我正在打开一个Java Android-无法再次打开片段,java,android,android-fragments,Java,Android,Android Fragments,我正在打开一个片段,很快就关闭了它 它第一次打开和关闭都没有问题,但第二次尝试打开时会出现NullPointerException 使用扩展fragment的SomeFrag类打开fragment。要关闭它,我调用closeFrag()方法 public class SomeFrag extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedI
片段
,很快就关闭了它
它第一次打开和关闭都没有问题,但第二次尝试打开时会出现NullPointerException
使用扩展fragment
的SomeFrag
类打开fragment
。要关闭它,我调用closeFrag()
方法
public class SomeFrag extends Fragment {
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
mRootview = (ViewGroup) inflater.inflate(R.layout.somefrag, container, false); // line with error
return mRootview;
}
public void closeFrag(){
((ViewGroup)mRootview.getParent()).removeView(mRootview);
}
}
为什么我不能再次打开片段?要删除片段,您应该使用事务,例如
getSupportFragmentManager().beginTransaction().remove(fragmentInstance).commit();
如何获取碎片实例?我尝试了
Fragment frag=mActivity.getFragmentManager().findframentbyid(R.id.llFrag)代码>但我最终出现了一个NullPointerException错误。明白了,我使用了这个,mActivity.getFragmentManager().beginTransaction().remove(this.commit()代码>最简单的方法是将其保留为成员。如果你从片段的类中调用该片段,你应该能够使用keyowordthis
在得到答案之前,我回答问题会得到分数吗?!?