Android clicable Widget con ListView no se puede hacer clic en ListItems

Tengo problemas para hacer que mi widget haga clic. El código siguiente está funcionando parcialmente. Mi Widget muestra un ListView con elementos. Al hacer clic en el Widget donde no se muestra ningún elemento, el Intent funciona y se inicia la Actividad. Pero al hacer clic en un elemento del ListView nada sucede.

Aquí está el código: WidgetProvicer:

public void onUpdate(final Context context, final AppWidgetManager appWidgetManager, final int[] appWidgetIds) { for (final int iD : appWidgetIds) { final RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout .widget_layout); final Intent intent = new Intent(context, TickWidgetService.class); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, iD); intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))); remoteViews.setRemoteAdapter(R.id.WidgetItem, intent); remoteViews.setEmptyView(R.id.WidgetItem, R.id.empty_view); final Intent activityIntent = new Intent(context, MainActivity.class); final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, activityIntent, 0); remoteViews.setOnClickPendingIntent(R.id.Widget, pendingIntent); appWidgetManager.updateAppWidget(iD, remoteViews); appWidgetManager.notifyAppWidgetViewDataChanged(iD, R.id.WidgetItem); } super.onUpdate(context, appWidgetManager, appWidgetIds); } 

Widget_layout.xml:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Widget" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <ListView android:id="@+id/WidgetItem" android:layout_width="match_parent" android:layout_height="wrap_content" android:divider="#D3D3D3" android:dividerHeight="1dp"/> <TextView android:id="@+id/empty_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/darker_gray" android:gravity="center" android:text="@string/emptytext" android:visibility="gone"/> </LinearLayout> 

Los ListViewItems no tienen botones ni nada.

¡Gracias por tu ayuda!

Finalmente está funcionando:

En el Profibus onUpdate:

 final Intent activityIntent = new Intent(context, MainActivity.class); final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, activityIntent, PendingIntent.FLAG_UPDATE_CURRENT); remoteViews.setPendingIntentTemplate(R.id.WidgetItem, pendingIntent); 

Y en el ViewsFactory getViewAt:

 Bundle infos = new Bundle(); infos.putInt(TickWidgetProvider.WIDGET_LISTID, this.listId); final Intent activityIntent = new Intent(); activityIntent.putExtras(infos); remoteView.setOnClickFillInIntent(R.id.widgetListItemLayout, activityIntent); 

No sé dónde lo encontré, pero este ejemplo me ayudó a hacerlo funcionar: https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget/LoremWidget

  • ¿Cómo llamar a un servicio remoto Android (IPC) desde un servicio Widget / local?
  • Widget de control de energía mostrado durante un breve momento al actualizar mi propio widget a través de AppWidgetManager, ¿cuál es el problema?
  • Actualizar Android ListView en Widget
  • Modificación del widget de barra de búsqueda de Android para que funcione verticalmente
  • El servicio no se reinicia después de que "Clear Memory" + appWidget se bloquea
  • Cambiar gradualmente el fondo de gradiente del widget
  • Cómo cambiar el diseño del widget de fondo mediante programación
  • ¿El widget Android deja de funcionar después de un tiempo?
  • Se produjo un error en la transacción del encuadernador al colocar un mapa de bits dinámicamente en un widget.
  • Widget Android ImageButton pierde imagen cuando se gira la pantalla
  • Android - widget de actualización sobre el servicio con datos de la red. ¿El mejor enfoque?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.