android - Fragment with a google map taking up half the page with one marker, force close -
i have fragment supposed load google map 1 marker on top half, , text view on bottom half of screen. when seek , launch error:
06-26 12:34:06.398 20009-20009/com.beerportfolio.beerportfoliopro e/androidruntime﹕ fatal exception: main process: com.beerportfolio.beerportfoliopro, pid: 20009 java.lang.nullpointerexception @ com.beerportfolio.beerportfoliopro.locationpage.onresume(locationpage.java:89) @ android.support.v4.app.fragment.performresume(fragment.java:1543) @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:974) @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:1115) @ android.support.v4.app.backstackrecord.run(backstackrecord.java:682) @ android.support.v4.app.fragmentmanagerimpl.execpendingactions(fragmentmanager.java:1478) @ android.support.v4.app.fragmentmanagerimpl$1.run(fragmentmanager.java:446) @ android.os.handler.handlecallback(handler.java) @ android.os.handler.dispatchmessage(handler.java) @ android.os.looper.loop(looper.java) @ android.app.activitythread.main(activitythread.java) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java) @ com.android.internal.os.zygoteinit.main(zygoteinit.java) @ dalvik.system.nativestart.main(native method) my locationpage code is:
public class locationpage extends fragment { googlemap mmap; private supportmapfragment fragment; private googlemap map; string lattitude; string longitude; string name; //mandatory constructor public locationpage() { } public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); } public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view rootview = inflater.inflate(r.layout.locationpage,container, false); //todo: set title brewery name sharedpreferences prefs = preferencemanager.getdefaultsharedpreferences(getactivity()); name = prefs.getstring("name", null); string hours = prefs.getstring("hours", null); lattitude = prefs.getstring("lat", null); longitude = prefs.getstring("lng", null); string phone = prefs.getstring("phone", null); getactivity().settitle(name); //todo: set map //todo: display rest of info homecoming rootview; } @override public void onactivitycreated(bundle savedinstancestate) { super.onactivitycreated(savedinstancestate); fragmentmanager fm = getchildfragmentmanager(); fragment = (supportmapfragment) fm.findfragmentbyid(r.id.map); if (fragment == null) { fragment = supportmapfragment.newinstance(); fm.begintransaction().replace(r.id.map, fragment).commit(); } } @override public void onresume() { super.onresume(); //todo: add together markers double latd = double.parsedouble(lattitude); double lngd = double.parsedouble(longitude); mmap.addmarker(new markeroptions() .position(new latlng(latd, lngd)) .title(name)); } } line 89 on locationpage is:
mmap.addmarker(new markeroptions() .position(new latlng(latd, lngd)) .title(name)); my xml locationpage is:
<?xml version="1.0" encoding="utf-8"?> <linearlayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <linearlayout android:id="@+id/map" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="1"/> <textview android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:text="textview" /> </linearlayout>
probably have 1 of variables (name, lattitude, longitude or mmap) null value. seek print variables in logcat.
android google-maps android-fragments android-maps-v2
No comments:
Post a Comment