Advertisement
last63

Untitled

Aug 1st, 2022
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. class FollowersFragment : Fragment() {
  2.  
  3. private var _binding: FragmentFollowersBinding? = null
  4. private val binding get() = _binding!!
  5. private lateinit var followersViewModel: FollowersViewModel
  6. private lateinit var adapter: ListUserAdapter
  7. private lateinit var username: String
  8.  
  9. override fun onCreateView(
  10. inflater: LayoutInflater, container: ViewGroup?,
  11. savedInstanceState: Bundle?
  12. ): View {
  13. _binding = FragmentFollowersBinding.inflate(inflater, container, false)
  14. return binding.root
  15. }
  16.  
  17. override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
  18. super.onViewCreated(view, savedInstanceState)
  19. username = arguments?.getString(DetailActivity.EXTRA_USERNAME).toString()
  20. adapter = ListUserAdapter()
  21. adapter.notifyDataSetChanged()
  22.  
  23. binding.apply {
  24. rvFollower.layoutManager = LinearLayoutManager(activity)
  25. rvFollower.setHasFixedSize(true)
  26. rvFollower.adapter = adapter
  27. }
  28.  
  29. showLoading(true)
  30. followersViewModel = ViewModelProvider(
  31. this,
  32. ViewModelProvider.NewInstanceFactory()
  33. ).get(FollowersViewModel::class.java)
  34. followersViewModel.setListFollower(username)
  35. followersViewModel.getListFollower().observe(viewLifecycleOwner, {
  36. if (it != null) {
  37. adapter.setListUser(it)
  38. showLoading(false)
  39. }
  40. })
  41.  
  42. }
  43.  
  44. override fun onDestroy() {
  45. super.onDestroy()
  46. _binding = null
  47. }
  48.  
  49. private fun showLoading(state: Boolean) {
  50. binding.apply {
  51. if (state) {
  52. progressBar.visibility = View.VISIBLE
  53. } else {
  54. progressBar.visibility = View.GONE
  55. }
  56. }
  57. }
  58.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement