Integrating MapFragments with OSMDroid

I am currently trying to transfer my OSMDroid Map Activity into Fragments. It seems that everything has been set correctly but I’m getting this weird NullPointerException which I’m unsure of solving.


02-20 23:59:36.140: E/AndroidRuntime(970): FATAL EXCEPTION: main
    02-20 23:59:36.140: E/AndroidRuntime(970): java.lang.NullPointerException
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at maps.y.p.onResume(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.maps.internal.IMapFragmentDelegate$Stub.onTransact(IMapFragmentDelegate.java:115)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.os.Binder.transact(Binder.java:297)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.maps.internal.IMapFragmentDelegate$a$a.onResume(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.maps.SupportMapFragment$a.onResume(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.internal.d$1.a(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.internal.d.a(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.internal.d.onResume(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.google.android.gms.maps.SupportMapFragment.onResume(Unknown Source)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:918)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1083)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:635)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1431)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:420)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.os.Handler.handleCallback(Handler.java:605)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.os.Looper.loop(Looper.java:137)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at android.app.ActivityThread.main(ActivityThread.java:4511)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at java.lang.reflect.Method.invokeNative(Native Method)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at java.lang.reflect.Method.invoke(Method.java:511)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
    02-20 23:59:36.140: E/AndroidRuntime(970): 	at dalvik.system.NativeStart.main(Native Method)
    02-20 23:59:36.225: E/android.os.Debug(29093): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error


Here are my part of my codes for the fragment class:


    public View onCreateView(LayoutInflater inflator, ViewGroup container, Bundle savedInstanceState) {
		
		final View view = inflator.inflate(R.layout.offline_map_activity, container, false);


        myOpenMapView = (MapView) view.findViewById(R.id.openmapview);
    	
    	mResourceProxy = new DefaultResourceProxyImpl(getSherlockActivity().getApplicationContext());
        myOpenMapView.getTileProvider().clearTileCache();
        
        File aFile = new File(Environment.getExternalStorageDirectory().toString() + 
        		"/test/offlineMap/" + tID + ".zip");
        IArchiveFile[] myArchives = new IArchiveFile[1];
        myArchives[0] = ArchiveFileFactory.getArchiveFile(aFile);
        MyTileSource myTiles = new MyTileSource( "" + tID, null, 12, 12, 256, ".png");
        MapTileModuleProviderBase[] myProviders = new MapTileModuleProviderBase[2];
        myProviders[0] = new MapTileFileArchiveProvider(new SimpleRegisterReceiver(getSherlockActivity().getApplicationContext()), 
        		myTiles, myArchives);
        myProviders[1] =  new MapTileDownloader(TileSourceFactory.MAPNIK);
        MapTileProviderArray MyTileProvider = new MapTileProviderArray(myTiles,null, myProviders);
        TilesOverlay MyTilesOverlay = new TilesOverlay(MyTileProvider, getSherlockActivity().getApplicationContext());
        //codes continue...


        return view;
    }

I’m kinda following this from various sources but it still doesn’t work. Can anyone enlighten me what did I do wrong?

Do let me know if more of the codes need to be shown. Thanks!