StreetViewPanoramaView在片段中发生冲突

时间:2016-09-23 12:06:33

标签: android google-maps android-fragments google-street-view

我在一个片段中实现了StreetViewPanoramaView,这是我的viewpager中的几个页面之一。 问题是我在我的片段StreetViewPanoramaView.oncreate(savedInstanceState)方法中调用的onViewCreated(View v,Bundle saved)与下面的错误发生冲突

java.lang.ClassCastException: com.google.android.gms.maps.model.CameraPosition 
cannot be cast to com.google.android.gms.maps.model.StreetViewPanoramaCamera

这不会一直发生。有时当我从片段中向我的viewpager滑回然后我再次向片段滑动。

如果在我尝试向片段滑动时发生冲突,它将继续从那里发生冲突。我的意思是我不能进入片段。

我如何解决错误,因为如果我评论方法StreetViewPanoramaView.oncreate(savedInstanceState)我的片段在片段的方法OnResume()中发生冲突,表明streetviewpanoramaview为空,因为我必须调用streetviewpanoramaview.onResume()在那个方法

我的片段方法

@Override
public void onViewCreated(View view, @Nullable final Bundle savedInstanceState) {
  super.onViewCreated(view, savedInstanceState);
  streetView = (StreetViewPanoramaView) view.findViewById(R.id.streetMap);
  streetView.onCreate(savedInstanceState);

我的viewpager适配器,其中包含片段

 private class CustomAdapter extends FragmentStatePagerAdapter{

private CustomAdapter(FragmentManager fm) {
  super(fm);
}

@Override
public Fragment getItem(int position) {
  switch (position){
    case 0:
      // fragment 0
    case 1:
      //fragment 1
    case 2:
      //fragment 2
    case 3:
      //fragment 3
    case 4:
      locationFragment = LocationFragment.newInstance();
      locationFragment.setTargetFragment(ArmyFragment.this,400);
      return locationFragment;
  }
  return null;
}

0 个答案:

没有答案