我有一个地图片段类,我在它上面添加了一个按钮。当我点击它时,我正在使用简单的textview和save按钮调用另一个片段类。单击保存时,我想返回我的mapfragment类。现在,当我点击保存并返回时,它会抛出一个错误。错误是在给班级膨胀时>只是想知道从后台弹出时我是否做错了什么。我只想删除最后一个并返回我的地图。 我的地图布局如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical">
</fragment>
</LinearLayout>
MapFragment如下:
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.maplayout,container,false);
return v;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
FragmentManager fm = getChildFragmentManager();
fragment = (MapFragment) fm.findFragmentById(R.id.map);
if (fragment == null) {
fragment = MapFragment.newInstance();
fm.beginTransaction().replace(R.id.map, fragment).commit();
}
}
背面方法:
FragmentManager fm = getActivity().getFragmentManager();
fm.popBackStack("TEXT_FRAGMENT", FragmentManager.POP_BACK_STACK_INCLUSIVE);
fm.beginTransaction()
.replace(R.id.map_tab,
mapFragment,
"maptab")
.addToBackStack("maptab")
.commit();
错误是:片段没有视图。
map_tab是添加了MapFragment的标签。地图片段添加在此之上。
编辑:在后面的方法中,我添加了fm.popBackStack(“TEXT_FRAGMENT”,FragmentManager.POP_BACK_STACK_INCLUSIVE
但是当我回到我的Map Fragment并且在膨胀时我得到了错误,这给了我错误。
答案 0 :(得分:0)
不要提交新的片段。代替,
查看getFragmentManager().popBackStack()
方法(有几种方法可供选择)
http://developer.android.com/reference/android/app/FragmentManager.html#popBackStack()
答案 1 :(得分:0)
终于有了工作。在添加新片段之前必须删除mapfragment。