Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Android] Meerdere widgets, alleen laatste is aanklikbaar

Pagina: 1
Acties:

  • Amanoo
  • Registratie: December 2007
  • Laatst online: 29-10 17:28

Amanoo

Cᴀᴛs ᴀʀᴇ ɴɪᴄᴇ.

Topicstarter
Hallo. Ik heb al eerder een probleem gehad met widgets zoals misschien sommigen hebben gezien. Op dit eerste probleem heb ik nu na veel zoeken en proberen een oplossing gevonden, dus tijd voor het volgende probleem.

Ik heb meerdere widgets in 1 app, en dus ook meerdere klassen die AppWidgetProvider extenden. Het idee is dat elk van mijn widgets een knop bevat, als die wordt ingedrukt wordt er een Service gestart, die eventjes bepaalde code draait en daarna stopt. Nu het probleem. Ik heb bijvoorbeeld een Widget1a en een Widget1u. Deze widgets lijken op elkaar maar doen net even iets anders. Als ik op mijn homescreen een Widget1a aan maak en hierop druk wordt de Service perfect gestart en de code hierin uitgevoerd, zoals het hoort. Nu zet ik een Widget1u neer op het homescreen, en ineens doet Widget1a niets meer als ik hier op druk. Als ik dan weer een tweede Widget1a neerzet werken beide Widget1a's, maar doet Widget1u niets meer als ik hier op druk. In het kort: het lijkt erop dat tegelijkertijd maar 1 type widget code doet uitvoeren wanneer deze wordt aangeklikt (en als van dit type meerdere instanties op het homescreen staan geldt dit dus voor alle instanties van dit type).

De code in elke AppWidgetProvider is vrij basaal. Het bevat enkel een onUpdate-methode die overrided wordt. Deze maakt een Intent aan om een Service te starten en maakt hiermee een PendingIntent die via setOnClickPendingIntent aan een Button in de widget wordt gebonden. Elke widget maakt en iets andere intent zodat er een iets andere Service wordt uitgevoerd voor elke knop. Dit werkt dus maar voor 1 widgettype tegelijk, namelijk die waarvan als laatste een nieuwe instantie aan het homescreen is toegevoegd...

Waarom stoppen andere widgettypen met werken als ik een nieuw type aan mijn homescreen toevoeg? Iemand enig idee hoe dit zit en hoe ik ervoor kan zorgen dat als er meerdere verschillende widgets uit dezelfde app op mijn homescreen staan elke widget gewoon zijn ding kan doen?