我在项目中有以下内容
1> Action Bar(Home Fragment)的片段活动
2 - ;标签片段
2.1>标签1片段
2.2>标签2片段
3>其他片段
在Fragment Activity中,调用Tab Fragment,它显示了最初加载片段活动时的2个选项卡。
标签1片段包含一些带按钮的字段
Tab 2 Fragment包含一些带按钮的字段
当我点击Tab 1 Fragment按钮时,我想显示
主要xml中存在的
FrameLayout
中的其他片段隐藏
TabFragment
与标签片段中显示的标签1和标签2片段完全相同
android:id="@+id/mainframlayout"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" />
当我在Tab1片段中单击按钮时编写此代码时,它会删除Tab1片段
getActivity().getSupportFragmentManager().beginTransaction().remove(this).commit();
但我想删除总Tab片段并加载其他片段在该帧布局中请帮我解决这个问题。
答案 0 :(得分:0)
您应该将TabFragment
的引用传递给Tab1Fragment
并为其调用remove片段。
getActivity().getSupportFragmentManager().beginTransaction().remove(parentFragment).commit();
您可以在创建tab 1片段的新实例时执行此操作,只需传递TabFragment参考。
onCreateView的飞行片段,您将在其中创建OneWay,TwoWay片段:
OneWayFragment oneWay=new OneWayFragment();
oneWay.setFlightFragment(FlightFragment.this);
在OneWayFragment中:
class OneWayFragment extends Fragment {
FlightFragment f;
public void setFlightFragment(FlightFragment f){
this.f=f;
}
//onClick of button
Intent intent=new Intent(getActivity(),FlightLoadingFragmentActivity.class);
getActivity().startActivity(intent);
}
修改强>
class OneWayFragment extends Fragment {
//onClick of button
Intent intent=new Intent(getActivity(),FlightLoadingFragmentActivity.class);
getActivity().startActivity(intent);
}
您可以创建一个名为FlightLoadingFragmentActivity的新活动,并将片段放入其布局