0

我有一个简单的问题(希望它很简单)。

我试过在小部件中使用adapterviewflipper。我在这里测试了这段代码。

如果主屏幕中只有一个小部件实例,该代码对我来说非常有效。但是当我创建另一个小部件实例时,事情变得一团糟。每个小部件实例中的下一个按钮只会影响最后创建的小部件,这是错误的。

任何人都知道如何处理这个问题?

提前致谢!

4

2 回答 2

4

原因是您为每个小部件实例设置的 PendingIntent 被系统视为相同。您可以为每个小部件实例设置不同的 requestCode。例如,您可以像这样定义 PendingIntent:

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

参考: Multiple Instances Of Widget Only Updating Last widget

请注意,在上面的页面中,PendingIntent 上的 setData 可能无法解决问题。但是设置不同的 requestCode 总是可以的。

于 2013-10-17T08:10:39.360 回答
0

文件 WidgetProvider.java,onUpdate(),PendingIntent 使用请求代码 0。将其替换为小部件 id。

final PendingIntent nextPendingIntent = PendingIntent
                .getBroadcast(context, id, nextIntent,
                        PendingIntent.FLAG_UPDATE_CURRENT);
于 2015-06-05T00:20:38.590 回答