HairCosmeticsAnalyser/app/src/main/java/com/example/haircosmeticsanalyser/DatabaseFragment.kt

54 lines
2.1 KiB
Kotlin

package com.example.haircosmeticsanalyser
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
/**
* A simple [Fragment] subclass as the second destination in the navigation.
*/
class DatabaseFragment : Fragment() {
lateinit var recyclerViewAdapter: RecyclerViewAdapter
lateinit var viewModel: MainActivityViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_database, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
(activity as AppCompatActivity).supportActionBar?.show()
(activity as AppCompatActivity?)!!.supportActionBar!!.title = getString(R.string.database)
view.findViewById<RecyclerView>(R.id.recyclerView).apply {
layoutManager = LinearLayoutManager(activity)
(layoutManager as LinearLayoutManager).setReverseLayout(true)
(layoutManager as LinearLayoutManager).setStackFromEnd(true)
recyclerViewAdapter = RecyclerViewAdapter(this@DatabaseFragment)
adapter = recyclerViewAdapter
val divider = DividerItemDecoration(context, LinearLayoutManager.VERTICAL)
addItemDecoration(divider)
}
viewModel = ViewModelProviders.of(this).get(MainActivityViewModel::class.java)
viewModel.getAllIngredientsObservers().observe(viewLifecycleOwner, Observer {
recyclerViewAdapter.setListData(ArrayList(it))
recyclerViewAdapter.notifyDataSetChanged()
})
}
}