Android errors when getting battery info (in a Fragment) -


my app has several action bar tabs, 1 of fragments.it supposed display information battery. errors appear after navigating app bit.please explain caused problem , should done solve

here errors logcat :

05-15 07:24:30.809: e/androidruntime(25883): fatal exception: main 05-15 07:24:30.809: e/androidruntime(25883): java.lang.runtimeexception: error receiving broadcast intent { act=android.intent.action.battery_changed flg=0x60000010 (has extras) } in com.example.mytaskmanager.battery$1@4185ea78 05-15 07:24:30.809: e/androidruntime(25883):     @ android.app.loadedapk$receiverdispatcher$args.run(loadedapk.java:755) 05-15 07:24:30.809: e/androidruntime(25883):     @ android.os.handler.handlecallback(handler.java:605) 05-15 07:24:30.809: e/androidruntime(25883):     @ android.os.handler.dispatchmessage(handler.java:92) 05-15 07:24:30.809: e/androidruntime(25883):     @ android.os.looper.loop(looper.java:154) 05-15 07:24:30.809: e/androidruntime(25883):     @ android.app.activitythread.main(activitythread.java:4624) 05-15 07:24:30.809: e/androidruntime(25883):     @ java.lang.reflect.method.invokenative(native method) 05-15 07:24:30.809: e/androidruntime(25883):     @ java.lang.reflect.method.invoke(method.java:511) 05-15 07:24:30.809: e/androidruntime(25883):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:809) 05-15 07:24:30.809: e/androidruntime(25883):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:576) 05-15 07:24:30.809: e/androidruntime(25883):     @ dalvik.system.nativestart.main(native method) 05-15 07:24:30.809: e/androidruntime(25883): caused by: java.lang.nullpointerexception 05-15 07:24:30.809: e/androidruntime(25883):     @ com.example.mytaskmanager.battery.setare(battery.java:77) 05-15 07:24:30.809: e/androidruntime(25883):     @ com.example.mytaskmanager.battery$1.onreceive(battery.java:120) 05-15 07:24:30.809: e/androidruntime(25883):     @ android.app.loadedapk$receiverdispatcher$args.run(loadedapk.java:746) 05-15 07:24:30.809: e/androidruntime(25883):     ... 9 more 

and code :

public class battery extends fragment {     private textview batteryinfo, memoryinfo, procent;     int  health = 0, level=0, plugged=0, scale=0, status=0, temperature=0, voltage=0;     string  technology = "";     boolean present = false;     progressbar pb;       @override     public view oncreateview(layoutinflater inflater, viewgroup container,             bundle savedinstancestate) {         view myfragmentview = inflater.inflate(r.layout.layout, container, false);         return myfragmentview;     }      @override     public void onresume() {         super.onresume();         procent=(textview)getactivity().findviewbyid(r.id.batteryproc);         batteryinfo=(textview)getactivity().findviewbyid(r.id.textviewbatteryinfo);         pb = (progressbar)getactivity().findviewbyid(r.id.progressbar);         memoryinfo = (textview)getactivity().findviewbyid(r.id.memory);         setare();         getmeminfo();      }        public void setare(){          procent.settext("level: " + level + "%");         pb.setprogress(level);         batteryinfo.settext(                 "health: "+health+"\n"+                 "plugged: "+plugged+"\n"+                 "present: "+present+"\n"+                 "scale: "+scale+"\n"+                 "status: "+status+"\n"+                 "technology: "+technology+"\n"+                 "temperature: "+temperature+"\n"+                 "voltage: "+voltage+"\n");      }      @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          getactivity().registerreceiver(this.batteryinforeceiver, new intentfilter(intent.action_battery_changed));      }      private broadcastreceiver batteryinforeceiver = new broadcastreceiver() {         @override         public void onreceive(context context, intent intent) {              health= intent.getintextra(batterymanager.extra_health,0);             level= intent.getintextra(batterymanager.extra_level,0);             plugged= intent.getintextra(batterymanager.extra_plugged,0);             present= intent.getextras().getboolean(batterymanager.extra_present);             scale= intent.getintextra(batterymanager.extra_scale,0);             status= intent.getintextra(batterymanager.extra_status,0);             technology= intent.getextras().getstring(batterymanager.extra_technology);             temperature= intent.getintextra(batterymanager.extra_temperature,0);             voltage= intent.getintextra(batterymanager.extra_voltage,0);              batteryinfo=(textview)getactivity().findviewbyid(r.id.textviewbatteryinfo);             pb = (progressbar)getactivity().findviewbyid(r.id.progressbar);             memoryinfo = (textview)getactivity().findviewbyid(r.id.memory);             procent=(textview)getactivity().findviewbyid(r.id.batteryproc);              setare();                     getmeminfo();          }     }; 

where procent, batteryinfo views in view hierarchy? if in r.layout.layout inflating in oncreateview, move findviewbyids oncreateview , use myfragmentview instead of getactivity(): ex: procent = (textview) myfragmentview.findviewbyid(r.id.batteryproc);


Comments

Popular posts from this blog

Change php variable from jquery value using ajax (same page) -

Pull out data related to my apps from Android Play Store and iOS App Store -

How can I fetch data from a web server in an android application? -