Я пишу приложение, в котором будут размещаться виджеты.Приложение имеет пользовательский вид (который, вероятно, является источником проблемы).Я получаю AppWidgetHostView следующим образом
private AppWidgetHostView widget;
...
AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
widget = mAppWidgetHost.createView(this, appWidgetId, appWidgetInfo);
widget.setAppWidget(appWidgetId, appWidgetInfo);
mView.addWidget(widget, appWidgetInfo);
mView.addWidget () в основном просто запоминает этот экземпляр AppWidgetHostView, а затем mView рисует его непосредственно на холст.Визуально все хорошо - я вижу реальный виджет.Но проблема в том, чтобы реагировать на события пользовательского интерфейса.Посоветуйте, пожалуйста, что нужно сделать в родительском представлении, чтобы правильно запускать обработчики в виджетах, таких как onClick ().
Примечания:
Я использовал стандартные виджеты, которыенормально реагируют на события клика.Ничего не сработало.
Я также создал свой собственный тестовый виджет со слушателем (через views.setOnClickPendingIntent (R.id.appwidget_text, pending);) и onClick () успешно срабатывает, если виджетдобавлен на домашний экран, но не работает в моем приложении.
mView правильно обнаруживает событие нажатия, и я попытался вызвать там widget.performClick (), который возвращает ложное значение, а onClickListener - нетзарегистрирован в виджете.Но согласно источнику mAppWidgetHost.createView () будет вызывать updateAppWidget, который будет регистрировать его слушатель onClick ..
Пожалуйста, посоветуйте, где искать.Спасибо