Не отвечайте, нажмите на виджет - PullRequest
0 голосов
/ 26 июня 2011

У меня есть разные элементы управления для виджета (TextView, ImageView ...). На некоторых элементах управления я устанавливаю setOnClickPendingIntent (например, tvInfo). Это работает. При нажатии на TextView я получаю свой виджет.

protected final void addClickListener(String action, int layoutId) {
    Log.d(TAG, "addClickListener " + action);
    Intent intent = new Intent(WidgetInfo.Context, getMainWidget());
    intent.setAction(action);
    PendingIntent actionPendingIntent =
        PendingIntent.getBroadcast(WidgetInfo.Context, 0, intent, 0);
    remoteViews.setOnClickPendingIntent(layoutId, actionPendingIntent);

Но если я нажму на другую часть виджета (где не установлено setOnClickPendingIntent), а затем снова на tvInfo. Ничего не происходит и на прием не приходит ответ. Если я многократно нажимаю на tvIfo, то на Receive работать. Кроме того, если я дважды щелкну или даже количество раз, а затем снова на tvInfo, ответ onReceive. onReceive not response, только если я нажму на пустую часть виджета нечетное количество раз.

1 Ответ

1 голос
/ 29 июня 2011

Я решил проблему следующим образом:

  • добавить setOnClickPendingIntent для top linearLayout виджета;
  • установить android: soundEffectsEnabled = "false" для этого linearLayout.
...