当地图片段第一次打开时,它会调用onMapReady
并在其中添加一个标记并使用动画缩放。
我希望如果用户点击地图上的一个按钮,地图将重新启动,就好像它的开启一样,以缩放和诸如此类的开头。
我尝试使用下面的方法,当我点击按钮时,我会调用它,但它只会重新创建地图,但它没有调用onMapReady
,因为它没有添加制造商或任何东西。!
public void reLoadFragment(Fragment fragment) {
Fragment currentFragment = fragment;
if (currentFragment instanceof MapTransportFragment_BusDriver) {
FragmentTransaction fragTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragTransaction.detach(currentFragment);
fragTransaction.attach(currentFragment);
fragTransaction.commit();
}
}
编辑#1
我使用以下三种方式调用该方法,它给出了同样的错误。
/*1*/ reLoadFragment(this);
/*2*/ reLoadFragment(MyMap.this);
/*3*/ reLoadFragment(new MyMap()); // MyMap is the name of the current fragment.
答案 0 :(得分:0)
但是,如果您只想重新启动片段,则意味着您要创建新片段。调用detach
和attach
不会破坏fragment.So尝试下面的代码
public void reLoadFragment(Fragment fragment) {
Fragment currentFragment = fragment;
if (currentFragment instanceof MapTransportFragment_BusDriver) {
FragmentTransaction fragTransaction = getActivity().getSupportFragmentManager().beginTransaction();
fragTransaction.replace(R.id.YourFragmentContainer,currentFragment,"TAG");
fragTransaction.commit();
}
}