Я создаю виджет коллекции, поддерживаемый ViewFlipper
, и столкнулся с проблемой при просмотре документов Android на adding behavior to individual items.Настройка кликов по отдельным элементам виджета ViewFlipper
Я хочу создать две стрелы, которые двигают ViewFlipper
к его предыдущему и следующему виду, как показаны в этом макете:
В моем WidgetService
«ы getViewAt()
метода, я следующий кодом создать заливку в намерении:
final Intent fillInIntent = new Intent();
final Bundle bundle = new Bundle();
bundle.putInt(WidgetProvider.EXTRA_ID, mWidgetItems.get(position));
fillInIntent.putExtras(bundle);
remoteViews.setOnClickFillInIntent(R.id.btn_widget_next, fillInIntent);
remoteViews.setOnClickFillInIntent(R.id.btn_widget_previous, fillInIntent);
И тогда в моем WidgetProvider
у меня есть это:
// Adding collection list item handler
final Intent onItemClick = new Intent(context, WidgetProvider.class);
onItemClick.setAction(NAVIGATE);
onItemClick.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id)
onItemClick.setData(Uri.parse(onItemClick.toUri(Intent.URI_INTENT_SCHEME)));
final PendingIntent onClickPendingIntent = PendingIntent
.getBroadcast(context, id, onItemClick,
PendingIntent.FLAG_UPDATE_CURRENT);
rv.setPendingIntentTemplate(R.id.widget_view_flipper, onClickPendingIntent);
Что меня смущает в дизайне, так это то, должен ли я называть на каждой кнопке. Если я задаю намерение каждой кнопке, мне нужно определить, какая кнопка была нажата в моем WidgetProvider
методе onUpdate
(все, что у меня есть сейчас, является видом представления в ViewFlipper
). К сожалению, я не смог найти пример виджета, который, к сожалению, использует прослушиватели кликов для нескольких действий.
Просто хотел, чтобы дать обратную связь: текст, связанный с «Вашей RemoteViewsFactory необходима установить заливку в намерениях по отношению к каждому элементу collection.This позволяет отличить индивидуальное действие щелчка по заданному элементу ». Поэтому я думаю, что вы не можете установить заливку на кнопки (они являются дочерними элементами), как раз на элементах как таковых. – 0X0nosugar
@ 0X0nosugar Спасибо, что посмотрели, похоже, что вы правы от документов. Однако у меня есть пример виджета, который использует ViewFlipper с несколькими кнопками. Если бы я мог пик в их исходный код :( –