Touchlistener в виджете?

#android #android-widget

#Android #android-виджет

Вопрос:

 public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[]  appWidgetIds) {        
    for (int appWidgetId : appWidgetIds) {
       int imageNum = (new java.util.Random().nextInt(IMAGES.length));
       RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.main);
       remoteView.setImageViewResource(R.id.image, IMAGES[imageNum]);
       appWidgetManager.updateAppWidget(appWidgetId, remoteView);
    }
}
  

Я хочу использовать TouchListener здесь, в виджете, чтобы я мог менять фотографии. Что я должен позвонить или написать для этого?

Ответ №1:

Используйте функцию setOnClickPendingIntent в RemoteView и укажите идентификатор изображения / кнопки. так что ожидающее намерение будет запущено при нажатии этой кнопки.

Например:

 PendingIntent pintent = PendingIntent.getBroadcast(/*Input Arguments*/);
remoteView.setonClickPendingIntent(R.id.image,pintent);
  

Теперь, когда мы используем PendingIntent.getBroadcast для создания нашего ожидающего намерения, когда оно будет запущено, оно будет таким же, как sendBroadcast, поэтому мы должны реализовать onReceive сейчас.

Теперь просто поместите свою логику нажатия в onReceive.

Надеюсь, это поможет.

Комментарии:

1. Спасибо, друзья, за помощь, это именно то, что мне нужно, все работает нормально.