android - How can i write a part of string in Integer.toString -


i found code create battery widget:

public class batterystatuswidgetactivity extends appwidgetprovider {      /** called when activity first created. */         private string batterylevel = "init";         private int widgetimageframe = r.drawable.widget_batt_frame01;         @override         public void onupdate(context context, appwidgetmanager appwidgetmanager, int[] appwidgetids) {              context.getapplicationcontext().registerreceiver(this, new intentfilter(intent.action_battery_changed));              updateview(context);         }         @override         public void onreceive(context context, intent intent) {              int rawlevel = intent.getintextra(batterymanager.extra_level, -1);              int scale = intent.getintextra(batterymanager.extra_scale, -1);              int level = 65;              level = (rawlevel * 100) / scale;              string batterylevel = level + "%";              widgetimageframe = r.drawable.widget_batt_frame01;              updateview(context);              super.onreceive(context, intent);         }         public void updateview(context context) {              remoteviews thisviews = new remoteviews(context.getapplicationcontext().getpackagename(), r.layout.widget_layout);              thisviews.settextviewtext(r.id.widget_text, batterylevel);              thisviews.setimageviewresource(r.id.imageview1, widgetimageframe);              componentname thiswidget = new componentname(context, batterystatuswidgetactivity.class);              appwidgetmanager.getinstance(context).updateappwidget(thiswidget, thisviews);         } 

this display in widget number of battery level. mean "65" , want display "65%". if try write batterylevel = integer.tostring(level+"%"); error.. how can it?

just replace code in onreceive() following,

 @override         public void onreceive(context context, intent intent) {              int rawlevel = intent.getintextra(batterymanager.extra_level, -1);              int scale = intent.getintextra(batterymanager.extra_scale, -1);              int level = -1;              level = (rawlevel * 100) / scale;              batterylevel = level+"%";             widgetimageframe = r.drawable.widget_batt_frame01;              updateview(context);              super.onreceive(context, intent);         }  

the basic reason error integer.tostring(level+"%") integer.tostring() method used here accepts int value not string value. level+"%" string value


Comments