我有一个简单的问题(希望很简单)。
我尝试在widget中使用adapterviewflipper。我测试了这段代码here。
如果主屏幕中只有一个小部件实例,则代码对我来说非常合适。但是当我创建另一个widget实例时,事情会变得混乱。每个窗口小部件实例中的下一个按钮只会影响最后创建的窗口小部件,这是错误的。
任何人都知道如何处理这个问题?
提前致谢!
答案 0 :(得分:2)
原因是您为每个窗口小部件实例设置的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总是这样做。
答案 1 :(得分:0)
文件WidgetProvider.java,onUpdate(),PendingIntent使用请求代码0.将其替换为小部件ID。
final PendingIntent nextPendingIntent = PendingIntent
.getBroadcast(context, id, nextIntent,
PendingIntent.FLAG_UPDATE_CURRENT);