Нажатие на фон RemoteView непредвиденного поведения

Я хочу, чтобы мой виджет отображал список с нажимаемой кнопкой и кликабельным фоном на элементе ListItem, который содержит кнопку. Я создал сервис, который различает различные события, но щелчок по фону никогда не регистрируется, если onClickFillIntent устанавливается на кнопку. (Я уже пытался установить несколько onClickFillIntents на другие вещи, как TextView и кнопка, это работает без нареканий. Все кроме фона работает.)

TLDR; Почему intent1 работать, но intent2 оленья кожа? В logcat нет ошибок.

widget.kt

class Widget() : AppWidgetProvider() {

override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, Ids: IntArray) {
    for (i in Ids.indices) {
        val views = RemoteViews(context.getPackageName(), R.layout.classificationwidget)
        views.setRemoteAdapter(R.id.widget_list, context.intentFor<WidgetService>())
            views.setPendingIntentTemplate(R.id.widget_list, PendingIntent.getService(context,0,context.intentFor<DataCollectorService>("someAction"), PendingIntent.FLAG_CANCEL_CURRENT))
            appWidgetManager.updateAppWidget(Ids[i], views)
        }
    }
}

class WidgetService : RemoteViewsService() {
    override fun onGetViewFactory(intent: Intent): RemoteViewsFactory {
        return WidgetViews(this.applicationContext)
    }
}

class WidgetViews(private val context: Context) : RemoteViewsService.RemoteViewsFactory {

    override fun getViewAt(position: Int): RemoteViews? {
        val views = RemoteViews(context.packageName, R.layout.widgetlistitem)
        val intent1 = context.intentFor<MyService>(ACTION to "1")
        views.setOnClickFillInIntent(R.id.widget_button, intent1)
        val intent2 = context.intentFor<MyService>(ACTION to "2")
        views.setOnClickFillInIntent(R.id.widget_item_background, intent2) 
        return views
    }
    ... (rest of the methods)
}

widgetlistitem.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget_item_background"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:background="@drawable/card"
android:clickable="true"
android:focusable="true">

<Button
    android:id="@+id/widget_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"
    android:layout_margin="8dp"
    android:text="Jetzt" />
</RelativeLayout>

widget_list.xml

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/widget_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/widgetlistitem">
</ListView>

0 ответов

Другие вопросы по тегам