Android 交易后的黑色碎片

Android 交易后的黑色碎片,android,Android,我有一个带有TabMenu的片段活动。我的菜单打开一个DialogFragment,它随后调用一个方法来刷新TabMenu中的第一个片段,但是当我调用这个方法时,第二个片段的第二部分选项卡将变为空白。我不明白为什么 这是具有刷新方法的片段: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View ro

我有一个带有TabMenu的片段活动。我的菜单打开一个DialogFragment,它随后调用一个方法来刷新TabMenu中的第一个片段,但是当我调用这个方法时,第二个片段的第二部分选项卡将变为空白。我不明白为什么

这是具有刷新方法的片段:

@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;
}

我不确定这是造成问题的原因,但您绝对不应该从您试图删除的片段中执行片段事务。此操作应由承载这些片段的活动处理,并应使用侦听器模式调用。尝试将这种逻辑应用到活动中,看看是否有帮助

这个链接跳到了与活动沟通的部分,但整个内容值得一读