Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 等待发送错误的意图/额外信息_Java_Android_Android Appwidget - Fatal编程技术网

Java 等待发送错误的意图/额外信息

Java 等待发送错误的意图/额外信息,java,android,android-appwidget,Java,Android,Android Appwidget,我正在开发appWidget,遇到了第一个大问题。 我需要发送到我的应用程序(CoreActivity),让用户单击图像X或图像Y(等)。 这个图像到底是什么(在这个例子中:餐馆或出租车) 我的问题是:当用户单击图像时,它总是发送最后一个putExtra(在本例中为Taxi)。当我点击logo_1或image1_1时,它总是向我的CoreActivity发送“出租车” 你知道为什么吗?因为我到处都找不到哪里出了问题 感谢您为我提供的所有帮助,感谢您花费的时间(即使是阅读此问题^^)。 祝你今天愉

我正在开发appWidget,遇到了第一个大问题。
我需要发送到我的应用程序(CoreActivity),让用户单击图像X或图像Y(等)。
这个图像到底是什么(在这个例子中:餐馆或出租车)

我的问题是:当用户单击图像时,它总是发送最后一个putExtra(在本例中为Taxi)。当我点击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);

您需要在每个
pendingent

上设置不同的标识符。我完美地解决了我的问题。非常感谢您的帮助,先生!!
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);