So onUpdate Methode ruftAndroid Home-Bildschirm-Widget: RemoteViews setRemoteAdapter (...) Methode nicht auf API arbeitet 11+
remoteViews.setRemoteAdapter(id, R.id.listview, intent)
um einen Adapter zur Listenansicht im Widget anzuwenden.
Es gibt eine Schaltfläche in der Kopfzeile des Widgets, die ändern kann, welcher Datensatz in der Listenansicht angezeigt wird (denken Sie an Posteingang, Ausgang, Stern usw. für ein hypothetisches E-Mail-Widget). Wenn ich auf diese Schaltfläche klicke, gelangt der Benutzer zu einer Aktivität, mit der er auswählen kann, welcher Datensatz angezeigt werden soll. Wenn die Auswahl getroffen wird, wird der folgende Code ausgeführt:
Intent intent = new Intent(this, WidgetReceiver.class);
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
intent.putExtra("notify", true);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {R.xml.widget_provider});
sendBroadcast(intent);
Diese erfolgreich ruft die onUpdate Methode in der Klasse AppWidgetProvider des Widgets. Wenn ich jedoch zwischen verschiedenen Arten von Datensätzen umschalten würde, nachdem die Voreinstellung von 2-3 geändert wurde, funktioniert die Methode setRemoteAdapter
einfach nicht mehr. Ich habe den Prozess ausgiebig protokolliert, und die Methode, die einen Dienst aufrufen soll, der wiederum die Klasse RemoteViewsService.RemoteViewsFactory
lädt, um das Widget und seinen Adapter aufzufüllen, macht keines dieser Dinge. Das erste Mal, wenn Sie die Einstellung ändern, funktioniert es wie erwartet. Aber danach hört es auf.
Hat jemand eine Ahnung, was hier vor sich geht?
HI JMRboosties. Wären Sie so freundlich, Ihren Code zu teilen? Ich versuche auch, ein ListView in einem Homescreen-Widget zu setzen und eine Kopfzeile mit ein paar Schaltflächen hinzuzufügen (die ändern können, welcher Datensatz von der Listview angezeigt wird). Ich habe Schwierigkeiten, die Klicks auf die Kopfbuttons zu registrieren und die Listenansichten zu aktualisieren. Txs – Hubert
Dies scheint für alle Updates passieren - schließlich Android wird langweilig und nimmt an, Sie haben die richtigen Ergebnisse:/Danke @JMRboosties :) – Graeme
dies scheint nicht zu funktionieren, wenn Sie aktualisieren und Ihre App durch eine neuere Version, irgendwelche Vorschläge ersetzt wird um es zu lösen? – 2cupsOfTech