通过_ID从android中的日历获取特定事件
我的android应用程序中有一个事件id。 现在我想从日历中获取此特定事件。可能吗 我已经找到了关于如何从日历中获取事件的各种答案,但没有一个符合我的要求。 记录了如何从特定日历获取事件。 使用通过_ID从android中的日历获取特定事件,android,kotlin,android-calendar,Android,Kotlin,Android Calendar,我的android应用程序中有一个事件id。 现在我想从日历中获取此特定事件。可能吗 我已经找到了关于如何从日历中获取事件的各种答案,但没有一个符合我的要求。 记录了如何从特定日历获取事件。 使用CalendarContract.Calendars设置约束。我认为我需要使用CalendarContract.Events.\u ID 这是我试过的 private fun getCalendarEvents(ids: List<Long>): List<Pair<String
CalendarContract.Calendars设置约束。我认为我需要使用CalendarContract.Events.\u ID
这是我试过的
private fun getCalendarEvents(ids: List<Long>): List<Pair<String, Long>> {
val EVENT_PROJECTION: Array<String> = arrayOf(
CalendarContract.Events._ID,
CalendarContract.Events.TITLE
)
val PROJECTION_ID_INDEX: Int = 0
val PROJECTION_TITLE_INDEX: Int = 1
val uri: Uri = CONTENT_URI
val keys: String = ids.fold("") { acc, it -> "$acc, $it" }
val selection: String = "${CalendarContract.Calendars._ID} IN ?"
val selectionArgs: Array<String> = arrayOf("($keys)")
val cur: Cursor = contentResolver.query(uri, EVENT_PROJECTION, selection, selectionArgs, null)!!
val result: MutableList<Pair<String, Long>> =
emptyList<Pair<String, Long>>().toMutableList()
while (cur.moveToNext()) {
val ID: Long = cur.getLong(PROJECTION_ID_INDEX)
val TITLE: String = cur.getString(PROJECTION_TITLE_INDEX)
result += Pair(TITLE, ID)
}
return result
}
private fun getCalendarEvents(id:List):List{
val事件_投影:Array=arrayOf(
CalendarContract.Events.\u ID,
CalendarContract.Events.TITLE
)
val投影ID索引:Int=0
val投影标题索引:Int=1
val uri:uri=CONTENT\u uri
val keys:String=ids.fold(“”{acc,it->“$acc,$it”}
val selection:String=“${CalendarContract.Calendars.\u ID}IN?”
val selectionArgs:Array=arrayOf(“($keys)”)
val cur:Cursor=contentResolver.query(uri、事件投影、选择、选择、空)!!
val结果:可变列表=
emptyList().toMutableList()
while(cur.moveToNext()){
val ID:Long=cur.getLong(投影ID索引)
val TITLE:String=cur.getString(投影标题索引)
结果+=对(标题、ID)
}
返回结果
}
它尝试加载ids列表中具有_ID的所有事件,并返回(Title,ID)对
有什么简单的方法可以做到这一点吗?有一种简单的方法可以插入、编辑和删除事件,所以我想一定也有类似的方法来获取事件
谢谢你的帮助