我正在开发一个appWidget,我遇到了第一个大问题 我需要发送到我的应用程序(CoreActivity),用户点击图像X或图像Y(等) 这是什么形象(在这个例子中:餐馆或出租车)。
我的问题是:当用户点击图片时,它总是发送最后一个putExtra(在这个例子中出租车)。当我点击logo_1或image1_1时,它总是发送"出租车"到我的CoreActivity。
你知道为什么吗?因为我无法在这里发现任何错误......感谢您带来的所有帮助,感谢您抽出的时间(即使是阅读此问题^^)。
祝你有愉快的一天。
final RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.widget_demo_4l_4c);
Intent logo_1Intent = new Intent(context, CoreActivity.class);
Intent image1_1Intent = new Intent(context, CoreActivity.class);
Intent image2_1Intent = new Intent(context, CoreActivity.class);
image1_1Intent.putExtra(CoreActivity.EXTRA_WIDGET_KEY, "Restaurant");
image2_1Intent.putExtra(CoreActivity.EXTRA_WIDGET_KEY, "Taxi");
PendingIntent logo_1PendingIntent = PendingIntent.getActivity(context, 0, logo_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image1_1PendingIntent = PendingIntent.getActivity(context, 0, image1_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image2_1PendingIntent = PendingIntent.getActivity(context, 0, image2_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.logo_1, logo_1PendingIntent);
views.setOnClickPendingIntent(R.id.image1_1, image1_1PendingIntent);
views.setOnClickPendingIntent(R.id.image2_1, image2_1PendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
答案 0 :(得分:3)
PendingIntent logo_1PendingIntent = PendingIntent.getActivity(context, 0, logo_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image1_1PendingIntent = PendingIntent.getActivity(context, 2, image1_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent image2_1PendingIntent = PendingIntent.getActivity(context, 3, image2_1Intent, PendingIntent.FLAG_UPDATE_CURRENT);
您需要在每个PendingIntent
上设置不同的标识符。