Advertisement
rifki_cs29

OrganicFragment

Oct 27th, 2020
2,481
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.33 KB | None | 0 0
  1. package com.pupukkaltim.leader.view.fragment
  2.  
  3. import android.os.Bundle
  4. import android.view.LayoutInflater
  5. import android.view.View
  6. import android.view.ViewGroup
  7. import android.widget.Toast
  8. import androidx.fragment.app.Fragment
  9. import androidx.lifecycle.Observer
  10. import androidx.lifecycle.ViewModelProvider
  11. import androidx.recyclerview.widget.LinearLayoutManager
  12. import com.pupukkaltim.leader.R
  13. import com.pupukkaltim.leader.adapter.OrganicAdapter
  14. import com.pupukkaltim.leader.viewmodel.OrganicViewModel
  15. import kotlinx.android.synthetic.main.fragment_organic.*
  16.  
  17. class OrganicFragment : Fragment() {
  18.     private lateinit var adapter: OrganicAdapter
  19.     private lateinit var organicViewModel: OrganicViewModel
  20.  
  21.     companion object {
  22.         const val EXTRA_ORGANIC = "extra_organic"
  23.     }
  24.  
  25.     override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
  26.         return inflater.inflate(R.layout.fragment_organic, container, false)
  27.     }
  28.  
  29.     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
  30.         super.onViewCreated(view, savedInstanceState)
  31.  
  32.         adapter = OrganicAdapter()
  33.         showRecyclerView()
  34.  
  35.         organicViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactory()).get(OrganicViewModel::class.java)
  36.         if(arguments != null) {
  37.  
  38.             showLoading(true)
  39.             organicViewModel.setBawahanOrganic()
  40.         }
  41.  
  42.         organicViewModel.getBawahanOrganic().observe(viewLifecycleOwner, Observer { organic ->
  43.             if(organic != null){
  44.                 adapter.setData(organic)
  45.                 showLoading(false)
  46.             }
  47.         })
  48.  
  49.         organicViewModel.errorMessage.observe(viewLifecycleOwner, Observer {
  50.             it.getContentIfNotHandled()?.let { it ->
  51.                 Toast.makeText(activity, it, Toast.LENGTH_LONG).show()
  52.                 showLoading(false)
  53.             }
  54.         })
  55.  
  56.     }
  57.  
  58.     private fun showRecyclerView() {
  59.         rv_organic.layoutManager = LinearLayoutManager(context)
  60.         rv_organic.adapter = adapter
  61.  
  62.         adapter.notifyDataSetChanged()
  63.     }
  64.  
  65.     private fun showLoading(state: Boolean) {
  66.         if(state){
  67.             progress_bar.visibility = View.VISIBLE
  68.         } else {
  69.             progress_bar.visibility = View.GONE
  70.         }
  71.     }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement