Каждый элемент в списке доступен для кликов, и я хочу, щелкнув, открыть MainActivity с дополнительными функциями. Но если я нажму на элемент, ничего не произойдет.
Вот как я могу установить OnClick в функции getViewAt:
Код: Выделить всё
remoteViews.setOnClickPendingIntent(R.id.listitem_overlay, openMainActivity(departure))
Код: Выделить всё
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)
}
Код: Выделить всё
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Подробнее здесь: https://stackoverflow.com/questions/783 ... side-widet
Мобильная версия