добавить прослушиватель кликов для всего приложения - PullRequest
1 голос
/ 08 октября 2011

У меня есть приложение-виджет, и я хочу добавить прослушиватель кликов для всего макета приложения-виджета, а не только для TextView ecc.Это не работает

remoteViews.setOnClickPendingIntent(R.layout.profile_widget_layout, pendingIntent);

Как я могу это сделать?

Ответы [ 2 ]

4 голосов
/ 08 октября 2011

Вы не можете использовать setOnClickPendingIntent() с идентификатором ресурса макета, только с идентификатором виджета.

Все, что вам нужно сделать, это присвоить атрибут android:id вашему внешнему контейнеру (например, RelativeLayout), затем используйте setOnClickPendingIntent() с этим значением android:id.

0 голосов
/ 26 января 2015

Это больше не может быть вполне верно, так как я провел последние несколько дней, ломая голову о том, почему он не работал для меня, когда я пытался установить намерение на мастер RelativeLayout (R.id.TheEntireWidget) для моего виджета. (Да, атрибут clickable был установлен в true.)

В тот момент, когда я начал применять это к видимым чертежам , функциональность!

Я подозреваю, что это могло быть изменено, чтобы иметь дело с прозрачным чем-то или другим, возможно, перехватывающим прикосновениями. У моего виджета нет фона или чего-либо другого видимого, назначенного для RelativeLayout верхнего уровня.

...