[英]How add and view my events on google calendar into android application?
[英]how to add multiple events in google calendar android Kotlin?
对于日历,我们希望在 android 上的日历视图中显示多个事件。 来自 API https://myfarmapp1.herokuapp.com/api/v1/upcoming/actions/dates?userId=61efd161be38db6f4ab23fe7
的事件。 使用上面的 API 我想在日历视图上显示多个事件。 问题是什么? 当我们在日历上设置事件日期时,它会在日历上显示最新事件,而以前的事件不会显示。
val call: Call<com.android.farmist.model.dateCalender.Date> =
Api_Controller().getInstacne().getDates(userId)
call.enqueue(object :
Callback<com.android.farmist.model.dateCalender.Date> {
@SuppressLint("NotifyDataSetChanged")
override fun onResponse(
call: Call<com.android.farmist.model.dateCalender.Date>,
response: Response<com.android.farmist.model.dateCalender.Date>
)
{
val respo = response.body()
if (respo ?.allDates!= null) {
for (i in respo.allDates)
{
val y = i.value.year
val m = i.value.day
val d = i.value.date
val events: MutableList<EventDay> = ArrayList()
val calendar = Calendar.getInstance()
val calendar2=Calendar.getInstance()
val calendar3 = Calendar.getInstance()
calendar.set(y,m-1,d)
// Toast.makeText(requireActivity(),
// "${calendar2}",
// Toast.LENGTH_SHORT).show()
calendar2.set(y,m-1,d-1)
calendar3.set(y,m-1,d-2)
events.add(EventDay(calendar, R.drawable.dot))
Log.d("editDate","${(y ).toString() + (m-1 ).toString() + (d ).toString()}")
events.add(EventDay(calendar2, R.drawable.dot))
events.add(EventDay(calendar3, R.drawable.dot))
binding.calendar.setEvents(events)
}
}
}
override fun onFailure(
call: Call<com.android.farmist.model.dateCalender.Date>,
t: Throwable
) {
Log.d("userId", t.toString())
}
})
谷歌日历 API 允许设置多个事件,例如通过启动意图列表。
import androidx.core.content.ContextCompat.startActivities
startActivities(context, arrayOf(intent, intent2))
同样, startActivity 启动单个意图
import androidx.core.content.ContextCompat.startActivity
startActivity(context, intent, null)
如Android 开发人员指南中所述,意图本身可以如下所示。
import android.content.Intent
val startMillis: Long = Calendar.getInstance().run {
set(2012, 0, 19, 7, 30)
timeInMillis
}
val endMillis: Long = Calendar.getInstance().run {
set(2012, 0, 19, 8, 30)
timeInMillis
}
val intent = Intent(Intent.ACTION_INSERT)
.setData(CalendarContract.Events.CONTENT_URI)
.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startMillis)
.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endMillis)
.putExtra(CalendarContract.Events.TITLE, "Yoga")
.putExtra(CalendarContract.Events.DESCRIPTION, "Group class")
.putExtra(CalendarContract.Events.EVENT_LOCATION, "The gym")
.putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.