Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package android.sample.com.inratingapp.ui
- import android.os.Bundle
- import androidx.appcompat.app.AppCompatActivity
- import androidx.databinding.DataBindingUtil
- import androidx.lifecycle.Observer
- import androidx.lifecycle.ViewModelProviders
- import androidx.recyclerview.widget.LinearLayoutManager
- import kotlinx.android.synthetic.main.bookmarks.view.*
- import kotlinx.android.synthetic.main.commentators.view.*
- import kotlinx.android.synthetic.main.likers.view.*
- import kotlinx.android.synthetic.main.likers.view.recycler
- import kotlinx.android.synthetic.main.mentions.view.*
- import kotlinx.android.synthetic.main.reposters.view.*
- import kotlinx.android.synthetic.main.views.view.*
- import android.sample.com.inratingapp.R
- import android.sample.com.inratingapp.viewmodels.PostViewModel
- import android.sample.com.inratingapp.databinding.ActivityMainBinding
- import android.sample.com.inratingapp.model.reaction.ReactionResponse
- import androidx.cardview.widget.CardView
- class MainActivity : AppCompatActivity() {
- private val ID = 2729
- private lateinit var viewModel: PostViewModel
- private lateinit var binding: ActivityMainBinding
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- binding = ActivityMainBinding.inflate(layoutInflater)
- binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
- viewModel = ViewModelProviders.of(this).get(PostViewModel::class.java)
- viewModel.fetchPost(ID).observe(this, Observer {
- binding.cardViews.views.text = it.views.toString()
- binding.cardBookmarks.bookmarks.text = it.bookmarks.toString()
- })
- viewModel.fetchLikers(ID).observe(this, Observer {
- updateUI(binding.cardLikers, it)
- })
- viewModel.fetchCommentators(ID).observe(this, Observer {
- updateUI(binding.cardCommentators, it)
- })
- viewModel.fetchMentions(ID).observe(this, Observer {
- updateUI(binding.cardMentions, it)
- })
- viewModel.fetchReposters(ID).observe(this, Observer {
- updateUI(binding.cardReposters, it)
- })
- }
- private fun updateUI(cardView: CardView, it: ReactionResponse) {
- if(it.meta.total > 0) {
- cardView.reposters.text = it.meta.total.toString()
- cardView.recycler.layoutManager = LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false)
- cardView.recycler.adapter = UsersAdapter(it.data)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement