Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package hu.crm.myapplication.ui.home
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import androidx.fragment.app.Fragment
- import androidx.lifecycle.ViewModelProvider
- import androidx.recyclerview.widget.GridLayoutManager
- import hu.crm.myapplication.CalendarItemModel
- import hu.crm.myapplication.databinding.FragmentHomeBinding
- import java.util.*
- class HomeFragment : Fragment() {
- private lateinit var homeViewModel: HomeViewModel
- private val adapter = CalenderAdapter { dateClick(it) }
- private var actualNumberOfMonth = Calendar.getInstance().get(Calendar.MONTH) + 1
- private var actualYear = Calendar.getInstance().get(Calendar.YEAR)
- private lateinit var binding: FragmentHomeBinding
- override fun onCreateView(
- inflater: LayoutInflater,
- container: ViewGroup?,
- savedInstanceState: Bundle?
- ): View {
- binding = FragmentHomeBinding.inflate(inflater, container, false)
- return binding.root
- }
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- homeViewModel = ViewModelProvider(this).get(HomeViewModel::class.java)
- binding.fragmentCalendarRecyclerView.layoutManager = GridLayoutManager(context, 7)
- binding.fragmentCalendarRecyclerView.adapter = adapter
- binding.fragmentCalendarNextButton.setOnClickListener {
- actualNumberOfMonth++
- handleButtons()
- }
- binding.fragmentCalendarBackButton.setOnClickListener {
- actualNumberOfMonth--
- handleButtons()
- }
- handleButtons()
- }
- private fun dateClick(calendar: Calendar) {
- //view?.showSnackBar("Kattintás a ${calendar.time} elemre")
- }
- private fun handleButtons() {
- if (actualNumberOfMonth < 1) {
- actualNumberOfMonth = 12
- actualYear--
- }
- if (actualNumberOfMonth > 12) {
- actualNumberOfMonth = 1
- actualYear++
- }
- binding.numberOfMonth = actualNumberOfMonth
- binding.year = actualYear
- adapter.submitList(createMonthDateList())
- }
- private fun createMonthDateList(): List<CalendarItemModel> {
- val models: MutableList<CalendarItemModel> = mutableListOf()
- val calendar = Calendar.getInstance()
- calendar.set(Calendar.HOUR, 0)
- calendar.set(Calendar.MINUTE, 0)
- calendar.set(Calendar.MILLISECOND, 0)
- calendar.set(Calendar.SECOND, 0)
- calendar.set(Calendar.MONTH, actualNumberOfMonth - 1)
- calendar.set(Calendar.YEAR, actualYear)
- calendar.set(Calendar.DAY_OF_MONTH, 1)
- calendar.add(Calendar.DAY_OF_MONTH, 2 - calendar[Calendar.DAY_OF_WEEK])
- while (models.size < 35) {
- models.add(
- CalendarItemModel(
- calendar.clone() as Calendar,
- models.size,
- models.size,
- actualNumberOfMonth
- )
- )
- calendar.add(Calendar.DAY_OF_MONTH, 1)
- }
- return models
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement