android - Bluetooth Low Energy - java.lang.NullPointerException -
so i've been struggling past few hours , searching before don't think can find way sovle problem. i'm trying utilize context within of fragment extension , it's giving me errors i've pasted total code here in gist
enter link description here
from found on sounds happens when there null context, don't understand how prepare it.
logcat:
> 06-18 10:20:08.972 5718-5718/com.aparosecurity.kblock w/dalvikvm﹕ > threadid=1: thread exiting uncaught exception (group=0x41625898) > 06-18 10:20:08.992 5718-5718/com.aparosecurity.kblock > e/androidruntime﹕ fatal exception: main > java.lang.nullpointerexception > @ com.aparosecurity.kblock.imagefragment.oncreate(imagefragment.java:77) > @ android.support.v4.app.fragment.performcreate(fragment.java:1477) > @ android.support.v4.app.fragmentmanagerimpl.movetostate(fragmentmanager.java:904) > @ android.support.v4.app.fragmentmanagerimpl.performpendingdeferredstart(fragmentmanager.java:834) > @ android.support.v4.app.fragment.setuservisiblehint(fragment.java:841) > @ android.support.v4.app.fragmentpageradapter.setprimaryitem(fragmentpageradapter.java:130) > @ android.support.v4.view.viewpager.populate(viewpager.java:1066) > @ android.support.v4.view.viewpager.populate(viewpager.java:914) > @ android.support.v4.view.viewpager.onmeasure(viewpager.java:1436) > @ android.view.view.measure(view.java:15848) > @ android.widget.linearlayout.measurevertical(linearlayout.java:847) > @ android.widget.linearlayout.onmeasure(linearlayout.java:588) > @ android.view.view.measure(view.java:15848) > @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5012) > @ android.widget.framelayout.onmeasure(framelayout.java:310) > @ android.view.view.measure(view.java:15848) > @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5012) > @ android.widget.linearlayout.measurechildbeforelayout(linearlayout.java:1404) > @ android.widget.linearlayout.measurevertical(linearlayout.java:695) > @ android.widget.linearlayout.onmeasure(linearlayout.java:588) > @ android.view.view.measure(view.java:15848) > @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:5012) > @ android.widget.framelayout.onmeasure(framelayout.java:310) > @ com.android.internal.policy.impl.phonewindow$decorview.onmeasure(phonewindow.java:2189) > @ android.view.view.measure(view.java:15848) > @ android.view.viewrootimpl.performmeasure(viewrootimpl.java:1905) > @ android.view.viewrootimpl.measurehierarchy(viewrootimpl.java:1104) > @ android.view.viewrootimpl.performtraversals(viewrootimpl.java:1284) > @ android.view.viewrootimpl.dotraversal(viewrootimpl.java:1004) > @ android.view.viewrootimpl$traversalrunnable.run(viewrootimpl.java:5481) > @ android.view.choreographer$callbackrecord.run(choreographer.java:749) > @ android.view.choreographer.docallbacks(choreographer.java:562) > @ android.view.choreographer.doframe(choreographer.java:532) > @ android.view.choreographer$framedisplayeventreceiver.run(choreographer.java:735) > @ android.os.handler.handlecallback(handler.java:730) > @ android.os.handler.dispatchmessage(handler.java:92) > @ android.os.looper.loop(looper.java:137) > @ android.app.activitythread.main(activitythread.java:5136) > @ java.lang.reflect.method.invokenative(native method) > @ java.lang.reflect.method.invoke(method.java:525) > @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:737) > @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) > @ dalvik.system.nativestart.main(native method)any help appreciated.
the specific lines failing, error occurs when mcontext used.
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); fragval = getarguments() != null ? getarguments().getint("val") : 1; mhandler = new handler(); // initializes bluetooth adapter. api level 18 , above, reference // bluetoothadapter through bluetoothmanager. final bluetoothmanager bluetoothmanager = (bluetoothmanager) mcontext.getsystemservice(context.bluetooth_service); mbluetoothadapter = bluetoothmanager.getadapter(); }
you have not initialized mcontext
, null. invoking method on null reference causes npe.
in fragment, utilize getactivity()
reference hosting activity can used context
. (caveat: when attached activity. works in oncreate()
comes after onattach()
.)
so, replace
mcontext.getsystemservice()
with
getactivity().getsystemservice()
java android android-fragments android-studio bluetooth-lowenergy
No comments:
Post a Comment