BroadcastReceiver register and unregister not working in Android -


i use broadcastreceiver , register , works when press button , app show force close , in ondestroy() unregister it, have problem here code

@suppresslint("newapi") @override public view oncreateview(layoutinflater inflater, viewgroup container,                          bundle savedinstancestate) {     view v = inflater.inflate(r.layout.fragment_three, container, false);      net = new networkreceiver();     mswiperefreshlayout = (swiperefreshlayout) v.findviewbyid(r.id.activity_main_swipe_refresh_layout);     list = (listview) v.findviewbyid(r.id.list1);       try {         intentfilter filter = new intentfilter();         filter.addaction(action);         //filter.addaction(action2);         getactivity().registerreceiver(net, filter);     }     catch (nullpointerexception e){         log.d(tag, "" + e);     }}    @override public void ondestroy() {      try {         if (net!=null) {             getactivity().unregisterreceiver(net);             net = null;         }     }     catch (illegalargumentexception e){         log.d(tag, "activityvideo - onstop unregisterreceiver:" + e);         //localbroadcastmanager.getinstance()     }      super.ondestroy(); } 

here error :

07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime: fatal exception: main 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime: process: osclassapp.faosclass.com.osclassapp, pid: 13875 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime: java.lang.nullpointerexception: attempt invoke virtual method 'android.content.intent android.support.v4.app.fragmentactivity.registerreceiver(android.content.broadcastreceiver, android.content.intentfilter)' on null object reference 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ osclassapp.faosclass.com.osclassapp.threefragment$postgetter$1.customloadmoredatafromapi(threefragment.java:483) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ osclassapp.faosclass.com.osclassapp.threefragment$postgetter$1.onloadmore(threefragment.java:475) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ osclassapp.faosclass.com.osclassapp.endlessscrolllistener.onscroll(endlessscrolllistener.java:59) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.widget.abslistview.invokeonitemscrolllistener(abslistview.java:1948) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.widget.abslistview.setonscrolllistener(abslistview.java:1937) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ osclassapp.faosclass.com.osclassapp.threefragment$postgetter.onpostexecute(threefragment.java:472) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.os.asynctask.finish(asynctask.java:636) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.os.asynctask.access$500(asynctask.java:177) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.os.asynctask$internalhandler.handlemessage(asynctask.java:653) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.os.handler.dispatchmessage(handler.java:102) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp e/androidruntime:     @ android.os.looper.loop(looper.java:145) 07-25 21:57:46.722 13875-13875/osclassapp.faosclass.com.osclassapp  

this line problem , please hellp me

android.content.intentandroid.support.v4.app.fragmentactivity .registerreceiver(android.content.broadcastreceiver,  android.content.intentfilter)'  on null object reference 

this because getactivity() returns null when invoke in oncreateview(). when fragment oncreateview invoked not necessary activity created.

you can move below piece of code onactivitycreated , issue resolved.

getactivity().registerreceiver(net, filter); 

Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -