【发布时间】:2015-06-04 14:21:40
【问题描述】:
我的 Widget 只是一个包含许多元素的 ListView。这些应该可以通过 ListView 进行点击,并且由于所有元素都有两个按钮,因此它们也应该可以点击。按钮点击所需的操作是广播,而列表元素点击应该打开一个活动(有效)。
receiver在Manifest中注册,并有对应的intent-filter。
在RemoteViewsFactory.getViewAt(int position) 中这样做是为了添加一个 PendingIntent:
private void registerButtonListener(RemoteViews remoteView, int id, int zoneId) {
Intent intent = new Intent(WidgetTemperatureReceiver.ACTION);
intent.putExtra("id", zoneId);
intent.putExtra("up", id == R.id.buttonTempUp);
intent.setClassName(WidgetTemperatureReceiver.class.getPackage().getName(), WidgetTemperatureReceiver.class.getName());
PendingIntent pending = PendingIntent.getBroadcast(context.getApplicationContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
remoteView.setOnClickPendingIntent(id, pending);
}
但是什么也没收到。任何想法为什么?
【问题讨论】:
标签: android android-listview android-widget android-pendingintent android-appwidget