N
Neeldarax
Fortgeschrittenes Mitglied
- 32
Hi,
ich schreibe ein Widget. Um das manuelle Aktualiseren/Veränder der Daten zu bewerkstelligen, nutze ich Buttons.
Die Events und so läuft alles richtig durch, aber beim updateAppWidget passiert nichts.
Im Debug und nach paar Installationen hat es schon mal geklappt.
Aber spätestens, wenn ich das Widget neu auf den Home-Screen hinzufüge, ist wieder tote Hose.
Das ist mein Ausschnitt aus dem Service, der das Widget updatet:
//... ist nur auskommentierter Code, belanglos für das Geschehen.
Übliches Verhalten ist, dass er Einmal Läuft und die Daten aktualisert.
Danach, ob per Button oder Updateinterval, werden die Texte nicht in den TextViews aktualisiert.
Hat jemand damit Erfahrung oder kann mir Anhaltspunkte nennen, wo ich suchen/verändern kann.
regards
ich schreibe ein Widget. Um das manuelle Aktualiseren/Veränder der Daten zu bewerkstelligen, nutze ich Buttons.
Die Events und so läuft alles richtig durch, aber beim updateAppWidget passiert nichts.
Im Debug und nach paar Installationen hat es schon mal geklappt.
Aber spätestens, wenn ich das Widget neu auf den Home-Screen hinzufüge, ist wieder tote Hose.
Das ist mein Ausschnitt aus dem Service, der das Widget updatet:
Code:
@Override
public void onStart(Intent intent, int startId) {
int[] allWidgetIds = intent
.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
AppWidgetManager appWidgetManager = AppWidgetManager
.getInstance(this.getApplicationContext());
if (allWidgetIds != null) {
//Das Layout, was auf geladen wird.
RemoteViews remoteViews = new RemoteViews(this
.getBaseContext().getPackageName(),
R.layout.widget_view_sites);
//...
if (dataObject != null) {
//Hier werden die Texte gesetzt. Kein NPE, kein leer String...
String header = dataObject.getHeader();
String body = dataObject.getBody();
String footer = dataObject.getFooter();
//IDs sind vorhanden, richtiges Layout geladen
remoteViews.setTextViewText(R.id.textHeader, header);
remoteViews.setTextViewText(R.id.textBody, body);
remoteViews.setTextViewText(R.id.textFooter, footer);
} else {
//...
}
//auch mit jeder einzelnen WidgetID oder mit ComponentName versucht - gleiches verhalten
appWidgetManager.updateAppWidget(allWidgetIds, remoteViews);
}
stopSelf(); //auch schon ma rausgenommen oder eine Zeile tiefer verschoben
super.onStart(intent, startId);
}
//... ist nur auskommentierter Code, belanglos für das Geschehen.
Übliches Verhalten ist, dass er Einmal Läuft und die Daten aktualisert.
Danach, ob per Button oder Updateinterval, werden die Texte nicht in den TextViews aktualisiert.
Hat jemand damit Erfahrung oder kann mir Anhaltspunkte nennen, wo ich suchen/verändern kann.
regards