Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有PagerAdapter.getItem的Android java.lang.VerifyError_Java_Android - Fatal编程技术网

带有PagerAdapter.getItem的Android java.lang.VerifyError

带有PagerAdapter.getItem的Android java.lang.VerifyError,java,android,Java,Android,我想从标签寻呼机适配器调用地图。pageradapter放入主碎片。 调用getItem时,我的应用程序崩溃 public static class PagerAdapter extends FragmentPagerAdapter { public PagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) {

我想从标签寻呼机适配器调用地图。pageradapter放入主碎片。 调用getItem时,我的应用程序崩溃

public static class PagerAdapter extends FragmentPagerAdapter {
    public PagerAdapter(FragmentManager fm) {
        super(fm);
    }
    @Override
    public Fragment getItem(int position) {

        Fragment fragment = null;

        switch (position) {
        case 0:
            fragment = new FragmentTest();
            break;

        case 1:
            fragment = new FragmentMap(); //here's error!!
            break;

        }
        return fragment;
    }

    @Override
    public int getItemPosition(Object object) {
    return POSITION_NONE;
    }

    @Override
    public int getCount() {
        return 2;
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return null;
    }
}

}
地图片段

public class FragmentMap extends Fragment{

Context context;

MapView mapView;
GoogleMap map;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.people_map_fragment_layout, container, false);
// Gets the MapView from the XML layout and creates it
context = getActivity().getApplicationContext();
try {
    MapsInitializer.initialize(context);
} catch (GooglePlayServicesNotAvailableException e) {
    Log.e("Address Map", "Could not initialize google play", e);
}

switch (GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity()) )
{
case ConnectionResult.SUCCESS:
  Toast.makeText(getActivity(), "SUCCESS", Toast.LENGTH_SHORT).show();
  mapView = (MapView) v.findViewById(R.id.mapView);
  mapView.onCreate(savedInstanceState);
  // Gets to GoogleMap from the MapView and does initialization stuff
  if(mapView!=null)
  {
  map = mapView.getMap();
  map.getUiSettings().setMyLocationButtonEnabled(false);
  map.setMyLocationEnabled(true);
  CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(new LatLng(43.1, -87.9), 10);
  map.animateCamera(cameraUpdate);
  }
  break;
case ConnectionResult.SERVICE_MISSING: 
  Toast.makeText(getActivity(), "SERVICE MISSING", Toast.LENGTH_SHORT).show();
  break;
case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: 
  Toast.makeText(getActivity(), "UPDATE REQUIRED", Toast.LENGTH_SHORT).show();
  break;
default: Toast.makeText(getActivity(), GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity()), Toast.LENGTH_SHORT).show();
}
return v;
}

@Override
public void onResume() {

super.onResume();
if(mapView!=null)
    mapView.onResume();
}
@Override
public void onDestroy() {
super.onDestroy();
if(mapView!=null)
mapView.onDestroy();
}
@Override
public void onLowMemory() {
super.onLowMemory();
if(mapView!=null)
mapView.onLowMemory();
}
}
但我总是犯错误:

java.lang.VerifyError:FragmentMap
at FragmentMain$PagerAdapter.getItem()

我的代码有什么问题?请帮助

我在重写不应该重写的方法时看到过这种情况,在您的情况下,我会检查是否允许重写方法getItemPosition和getPageTitle,因为从FragmentPagerAdapter文档中, 子类只需要实现getItemint和getCount就可以拥有一个工作的适配器。该文件还说,当使用FragmentPagerAdapter时,主机ViewPager必须设置有效的ID,因此这将是另一件需要验证的事情