mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-01 11:16:48 +01:00
open the particular event from Event list view on click
This commit is contained in:
parent
e043e1b814
commit
4388e23ff1
@ -1,13 +1,17 @@
|
|||||||
package com.simplemobiletools.calendar.fragments
|
package com.simplemobiletools.calendar.fragments
|
||||||
|
|
||||||
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.support.v4.app.Fragment
|
import android.support.v4.app.Fragment
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.widget.AdapterView
|
||||||
|
import com.simplemobiletools.calendar.Constants
|
||||||
import com.simplemobiletools.calendar.DBHelper
|
import com.simplemobiletools.calendar.DBHelper
|
||||||
import com.simplemobiletools.calendar.Formatter
|
import com.simplemobiletools.calendar.Formatter
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
|
import com.simplemobiletools.calendar.activities.EventActivity
|
||||||
import com.simplemobiletools.calendar.adapters.EventsListAdapter
|
import com.simplemobiletools.calendar.adapters.EventsListAdapter
|
||||||
import com.simplemobiletools.calendar.models.Event
|
import com.simplemobiletools.calendar.models.Event
|
||||||
import com.simplemobiletools.calendar.models.ListEvent
|
import com.simplemobiletools.calendar.models.ListEvent
|
||||||
@ -18,8 +22,11 @@ import org.joda.time.DateTime
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.comparisons.compareBy
|
import kotlin.comparisons.compareBy
|
||||||
|
|
||||||
class EventListFragment : Fragment(), DBHelper.GetEventsListener {
|
class EventListFragment : Fragment(), DBHelper.GetEventsListener, AdapterView.OnItemClickListener {
|
||||||
|
private val EDIT_EVENT = 1
|
||||||
|
|
||||||
lateinit var mView: View
|
lateinit var mView: View
|
||||||
|
var mListItems: ArrayList<ListItem> = ArrayList()
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
mView = inflater!!.inflate(R.layout.fragment_event_list, container, false)
|
mView = inflater!!.inflate(R.layout.fragment_event_list, container, false)
|
||||||
@ -34,22 +41,35 @@ class EventListFragment : Fragment(), DBHelper.GetEventsListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun gotEvents(events: MutableList<Event>) {
|
override fun gotEvents(events: MutableList<Event>) {
|
||||||
val listItems = ArrayList<ListItem>(events.size)
|
mListItems = ArrayList<ListItem>(events.size)
|
||||||
val sorted = events.sortedWith(compareBy({ it.startTS }, { it.endTS }))
|
val sorted = events.sortedWith(compareBy({ it.startTS }, { it.endTS }))
|
||||||
var prevCode = ""
|
var prevCode = ""
|
||||||
sorted.forEach {
|
sorted.forEach {
|
||||||
val code = Formatter.getDayCodeFromTS(it.startTS)
|
val code = Formatter.getDayCodeFromTS(it.startTS)
|
||||||
if (code != prevCode) {
|
if (code != prevCode) {
|
||||||
val day = Formatter.getEventDate(context, code)
|
val day = Formatter.getEventDate(context, code)
|
||||||
listItems.add(ListSection(day, false))
|
mListItems.add(ListSection(day, false))
|
||||||
prevCode = code
|
prevCode = code
|
||||||
}
|
}
|
||||||
listItems.add(ListEvent(it.id, it.startTS, it.endTS, it.title, it.description))
|
mListItems.add(ListEvent(it.id, it.startTS, it.endTS, it.title, it.description))
|
||||||
}
|
}
|
||||||
|
|
||||||
val eventsAdapter = EventsListAdapter(context, listItems)
|
val eventsAdapter = EventsListAdapter(context, mListItems)
|
||||||
activity?.runOnUiThread {
|
activity?.runOnUiThread {
|
||||||
mView.calendar_events_list.adapter = eventsAdapter
|
mView.calendar_events_list.apply {
|
||||||
|
adapter = eventsAdapter
|
||||||
|
onItemClickListener = this@EventListFragment
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
|
||||||
|
editEvent((mListItems[position] as ListEvent).id)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun editEvent(eventId: Int) {
|
||||||
|
val intent = Intent(activity.applicationContext, EventActivity::class.java)
|
||||||
|
intent.putExtra(Constants.EVENT_ID, eventId)
|
||||||
|
startActivityForResult(intent, EDIT_EVENT)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user