当地图片段第一次打开时,它会调用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.
但是,如果您只想重新启动片段,则意味着您要创建新片段。调用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();
}
}