我尝试通过单击按钮来交换两个片段的位置。 首先,我在我的xml文件中添加了两个FrameLayout。
+
然后在initView
时添加片段if(preg_match('/([\w-]+) published successfully/',$line,$matches){
}
但小片段还没有显示!我试图交换两个片段的位置,但小片段仍然没有出现。当我尝试通过点击按钮来改变他们的位置时,它会出现:
<FrameLayout
android:id="@+id/content_frame_small"
android:layout_width="120dp"
android:layout_height="200dp"
android:layout_marginTop="50dp"
android:layout_alignParentRight="true"
android:clickable="true"
android:rotation="90" />
<FrameLayout
android:id="@+id/big_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
点击时,这是我的代码:
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
findViewById(R.id.content_frame_small).bringToFront();
if (mapFragment == null) {
mapFragment = new MapFragment();
}
ft.addToBackStack(MapFragment.TAG);
ft.add(R.id.content_frame_small, mapFragment, MapFragment.TAG);
if (cameraPreviewFragment == null) {
cameraPreviewFragment = new CameraPreviewFragment();
}
ft.addToBackStack(CameraPreviewFragment.TAG);
ft.add(R.id.big_fragment, cameraPreviewFragment, CameraPreviewFragment.TAG);
ft.commitAllowingStateLoss();
似乎
答案 0 :(得分:0)
@Sarah Huang
在你的代码中,你没有提交交易,这就是为什么你的小 片段未显示。
ft.addToBackStack(MapFragment.TAG);
ft.add(R.id.content_frame_small, mapFragment, MapFragment.TAG);
你试图这样做
ft.addToBackStack(MapFragment.TAG);
ft.add(R.id.content_frame_small, mapFragment, MapFragment.TAG).commit();