Skip to content

Instantly share code, notes, and snippets.

@SamueldaCostaAraujoNunes
Created August 2, 2021 22:50
Show Gist options
  • Save SamueldaCostaAraujoNunes/972e5e0f1b9dcda5deb39453fb2f3f36 to your computer and use it in GitHub Desktop.
Save SamueldaCostaAraujoNunes/972e5e0f1b9dcda5deb39453fb2f3f36 to your computer and use it in GitHub Desktop.
package br.com.samuelnunes.rickandmortyapp.ui.characters
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.paging.ExperimentalPagingApi
import br.com.samuelnunes.rickandmortyapp.databinding.CharactersFragmentBinding
import br.com.samuelnunes.rickandmortyapp.ui.MainViewModel
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
@ExperimentalPagingApi
class CharactersFragment : Fragment() {
private val viewModel: CharactersViewModel by viewModels()
private val mainViewModel: MainViewModel by activityViewModels()
private lateinit var binding: CharactersFragmentBinding
private val adapter: CharacterAdapter = CharacterAdapter()
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return CharactersFragmentBinding.inflate(inflater, container, false).also{
binding = it
}.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
setupRecyclerView()
}
private fun setupRecyclerView() {
binding.charactersRv.adapter = adapter
submitList()
mainViewModel.query.observe(viewLifecycleOwner, { mensage ->
submitList(mensage)
})
}
fun submitList(query: String = ""){
viewModel.characters(query).observe(viewLifecycleOwner) {
adapter.submitData(lifecycle, it)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment