2013-10-02 3 views
0

У меня есть простой вопрос (надеюсь, это просто).Android: AdapterViewFlipper Widget

Я пробовал использовать адаптер виджета в виде виджета. Я проверил этот код here.

Код работает отлично для меня, если на главном экране есть только один экземпляр виджета. Но все становится беспорядочным, когда я создаю еще один экземпляр виджета. Следующая кнопка в каждом экземпляре виджета влияет только на созданный последний виджет, что неверно.

У кого-нибудь есть идеи, как с этим бороться?

Заранее благодарен!

+0

Никто не может помочь? :( – CodingBird

ответ

1

Причина в том, что параметр PendingIntent, который вы установили для каждого экземпляра виджета, рассматривается как идентичный системе. Вы можете установить различные requestCode для каждого экземпляра виджета. Например, вы можете определить PendingIntent так:

final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, **appWidgetId**, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

См: Multiple Instances Of Widget Only Updating Last widget

Обратите внимание, что в приведенной выше странице УстановитьДанные на PendingIntent не может решить эту проблему. Но установка другого requestCode всегда выполняется.

+0

СПАСИБО! Я понял это сам в конце! :) Хотя я забыл написать ответ здесь! Хахаха. Но, что ты сказал, это правда! : D – CodingBird

0

файл WidgetProvider.java, onUpdate(), PendingIntent использует код запроса 0. Замените его идентификатором виджета.

final PendingIntent nextPendingIntent = PendingIntent 
       .getBroadcast(context, id, nextIntent, 
         PendingIntent.FLAG_UPDATE_CURRENT);