Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.pupukkaltim.leader.view.fragment
- import android.os.Bundle
- import android.view.LayoutInflater
- import android.view.View
- import android.view.ViewGroup
- import android.widget.Toast
- import androidx.fragment.app.Fragment
- import androidx.lifecycle.Observer
- import androidx.lifecycle.ViewModelProvider
- import androidx.recyclerview.widget.LinearLayoutManager
- import com.pupukkaltim.leader.R
- import com.pupukkaltim.leader.adapter.OrganicAdapter
- import com.pupukkaltim.leader.viewmodel.OrganicViewModel
- import kotlinx.android.synthetic.main.fragment_organic.*
- class OrganicFragment : Fragment() {
- private lateinit var adapter: OrganicAdapter
- private lateinit var organicViewModel: OrganicViewModel
- companion object {
- const val EXTRA_ORGANIC = "extra_organic"
- }
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return inflater.inflate(R.layout.fragment_organic, container, false)
- }
- override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
- super.onViewCreated(view, savedInstanceState)
- adapter = OrganicAdapter()
- showRecyclerView()
- organicViewModel = ViewModelProvider(this, ViewModelProvider.NewInstanceFactory()).get(OrganicViewModel::class.java)
- if(arguments != null) {
- showLoading(true)
- organicViewModel.setBawahanOrganic()
- }
- organicViewModel.getBawahanOrganic().observe(viewLifecycleOwner, Observer { organic ->
- if(organic != null){
- adapter.setData(organic)
- showLoading(false)
- }
- })
- organicViewModel.errorMessage.observe(viewLifecycleOwner, Observer {
- it.getContentIfNotHandled()?.let { it ->
- Toast.makeText(activity, it, Toast.LENGTH_LONG).show()
- showLoading(false)
- }
- })
- }
- private fun showRecyclerView() {
- rv_organic.layoutManager = LinearLayoutManager(context)
- rv_organic.adapter = adapter
- adapter.notifyDataSetChanged()
- }
- private fun showLoading(state: Boolean) {
- if(state){
- progress_bar.visibility = View.VISIBLE
- } else {
- progress_bar.visibility = View.GONE
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement