Android 交易后的黑色碎片
我有一个带有TabMenu的片段活动。我的菜单打开一个DialogFragment,它随后调用一个方法来刷新TabMenu中的第一个片段,但是当我调用这个方法时,第二个片段的第二部分选项卡将变为空白。我不明白为什么 这是具有刷新方法的片段:Android 交易后的黑色碎片,android,Android,我有一个带有TabMenu的片段活动。我的菜单打开一个DialogFragment,它随后调用一个方法来刷新TabMenu中的第一个片段,但是当我调用这个方法时,第二个片段的第二部分选项卡将变为空白。我不明白为什么 这是具有刷新方法的片段: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View ro
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home_company, container, false);
......
observer = new HomeCompanyFragmentController(this, this.getActivity().getBaseContext());
return rootView;
}
public void refresh(){
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
Fragment newFragment = this;
this.onDestroy();
ft.remove(this);
ft.replace(R.id.pager,newFragment);
ft.addToBackStack(null);
ft.commit();
}
我遵循了本教程:
在这里,我返回我的片段:
@Override
public Fragment getItem(int i) {
switch (i) {
case 0:
if(homeFragment == null){
homeFragment = new HomeCompanyFragment();
}
return homeFragment;
}
我不确定这是造成问题的原因,但您绝对不应该从您试图删除的片段中执行片段事务。此操作应由承载这些片段的活动处理,并应使用侦听器模式调用。尝试将这种逻辑应用到活动中,看看是否有帮助 这个链接跳到了与活动沟通的部分,但整个内容值得一读