events - launch update of listview inside appwidget when button is pressed android -


i have appwidget contains listview , buton

the listview gives data remote mysql database mysql , display it

but button want refresh listview appwidget directly , don't wait time defined in appwidgetinfo

here widgetprovider class :

public class widgetprovider extends appwidgetprovider {  // string sent on broadcast data fetched // should included on widgetprovider manifest intent action // recognized widgetprovider receive broadcast public static final string data_fetched = "com.wordpress.laaptu.data_fetched";  /*  * method called every 30 mins specified on widgetinfo.xml  * method called on every phone reboot method nothing  * updated right instead retmotefetchservice class called  * service fetch data,and send broadcast widgetprovider  * broadcast received widgetprovider onreceive in turn  * updates widget  */ @override public void onupdate(context context, appwidgetmanager appwidgetmanager,         int[] appwidgetids) {     final int n = appwidgetids.length;     (int = 0; < n; i++) {         intent serviceintent = new intent(context, remotefetchservice.class);         serviceintent.putextra(appwidgetmanager.extra_appwidget_id,                 appwidgetids[i]);         context.startservice(serviceintent);     }     super.onupdate(context, appwidgetmanager, appwidgetids); }  private remoteviews updatewidgetlistview(context context, int appwidgetid) {      // layout show on widget     remoteviews remoteviews = new remoteviews(context.getpackagename(),             r.layout.widget_layout);      // remoteviews service needed provide adapter listview     intent svcintent = new intent(context, widgetservice.class);     // passing app widget id remoteviews service     svcintent.putextra(appwidgetmanager.extra_appwidget_id, appwidgetid);     // setting unique uri intent     // don't know purpose me right     svcintent.setdata(uri.parse(svcintent.touri(intent.uri_intent_scheme)));     // setting adapter listview of widget     remoteviews.setremoteadapter(appwidgetid, r.id.listviewwidget,             svcintent);     // setting empty view in case of no data     remoteviews.setemptyview(r.id.listviewwidget, r.id.empty_view);     return remoteviews; }  /*  * receives broadcast per action set on intent filters on  * manifest.xml once data fetched remotepostservice,it sends  * broadcast , widgetprovider notifies change data data change  * right happens on listprovider takes remotefetchservice  * listitemlist data  */ @override public void onreceive(context context, intent intent) {     super.onreceive(context, intent);     if (intent.getaction().equals(data_fetched)) {         int appwidgetid = intent.getintextra(                 appwidgetmanager.extra_appwidget_id,                 appwidgetmanager.invalid_appwidget_id);         appwidgetmanager appwidgetmanager = appwidgetmanager                 .getinstance(context);         remoteviews remoteviews = updatewidgetlistview(context, appwidgetid);         appwidgetmanager.updateappwidget(appwidgetid, remoteviews);     }  } 

}

i used code-source of tutorial here

i added button in layout refresh_button id don't know how launch update of listview when user press it

how can fix issue

appwidgetmanager.notifyappwidgetviewdatachanged(appwidgetids[i], r.id.listviewwidget); 

add above code in appwidgetprovider.onupdate method give call ondatasetchanged() method of can refresh listview

i had same problem solved it


Comments

Popular posts from this blog

c++ - CryptStringToBinary API behavior -

java.util.scanner - How to read and add only numbers to array from a text file -

iphone - Three second countdown in cocos2d -