Почему ожидающее намерение не вызывается в списке внутри виджета?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему ожидающее намерение не вызывается в списке внутри виджета?

Сообщение Anonymous »

Я создал виджет на Kotlin. В этом виджете у меня есть список.
Каждый элемент в списке доступен для кликов, и я хочу, щелкнув, открыть MainActivity с дополнительными функциями. Но если я нажму на элемент, ничего не произойдет.
Вот как я могу установить OnClick в функции getViewAt:

Код: Выделить всё

remoteViews.setOnClickPendingIntent(R.id.listitem_overlay, openMainActivity(departure))
а вот openMainActivityFunction

Код: Выделить всё

   private fun openMainActivity(departure: Departure): PendingIntent {
val fillInIntent = Intent(context, MainActivity::class.java)

fillInIntent.apply {
`package` = context.packageName
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}

fillInIntent.putExtra(TRIP_ID, departure.tid)
fillInIntent.putExtra(OPERATOR_NAME, operator)
fillInIntent.putExtra(STOP_FULLCODE, departure.stopFullcode)
fillInIntent.putExtra(ACTION_OPEN_TRIP, ACTION_OPEN_TRIP)

return  PendingIntent.getActivity(context,123, fillInIntent, PendingIntent.FLAG_IMMUTABLE)
}
А вот код, как я установил RemoteAdapter для отображения в виджете

Код: Выделить всё

private fun setDepartures(
fullcode: String,
schedule: String,
lines: String,
appWidgetId: Int,
views: RemoteViews,
context: Context,
) {
val intent = Intent(context.applicationContext, StopDepartureService::class.java)
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId)
intent.putExtra(PREF_PREFIX_KEY_OPERATOR, schedule)
intent.putExtra(PREF_PREFIX_KEY_FULLCODE, fullcode)
intent.putExtra(PREF_PREFIX_KEY_STOP_LINES, lines.trim().replace(" ", ","))
intent.data = Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))
views.setRemoteAdapter(R.id.departureList, intent)
}

Код: Выделить всё

setDepartures
вызывается в updateAppWidget, который вызывается в цикле for в onUpdate

Подробнее здесь: https://stackoverflow.com/questions/783 ... side-widet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»