Advertisement
Guest User

Untitled

a guest
Nov 13th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 3.19 KB | None | 0 0
  1. package com.maclaurin.footballclub.ui.home
  2.  
  3.  
  4. import android.os.Bundle
  5. import android.support.v4.app.Fragment
  6. import android.support.v4.widget.SwipeRefreshLayout
  7. import android.support.v7.widget.LinearLayoutManager
  8. import android.support.v7.widget.RecyclerView
  9. import android.view.LayoutInflater
  10. import android.view.View
  11. import android.view.ViewGroup
  12. import android.widget.*
  13. import com.google.gson.Gson
  14. import com.maclaurin.footballclub.R
  15. import com.maclaurin.footballclub.R.array.league
  16. import com.maclaurin.footballclub.api.ApiRepository
  17. import com.maclaurin.footballclub.model.Team
  18. import com.maclaurin.footballclub.ui.clubdetails.ClubDetailsActivity
  19. import com.maclaurin.footballclub.util.invisible
  20. import com.maclaurin.footballclub.util.visible
  21. import org.jetbrains.anko.*
  22. import org.jetbrains.anko.support.v4.ctx
  23. //import org.jetbrains.anko.support.v4.onRefresh
  24.  
  25.  
  26. class ClubFragment : Fragment(), ClubView {
  27.     private var teams: MutableList<Team> = mutableListOf()
  28.     private lateinit var presenter: ClubPresenter
  29.     private lateinit var adapter: ClubAdapter
  30. //    private lateinit var listTeam: RecyclerView
  31.     private lateinit var progressBar: ProgressBar
  32.     private lateinit var swipeRefresh: SwipeRefreshLayout
  33. //    private lateinit var spinner: Spinner
  34.     private lateinit var leagueName: String
  35.  
  36.     override fun onCreateView(
  37.         inflater: LayoutInflater, container: ViewGroup?,
  38.         savedInstanceState: Bundle?): View? {
  39.         // Inflate the layout for this fragment
  40.         val clubView = inflater.inflate(R.layout.fragment_club, container, false)
  41.  
  42.         val spinnerClub = clubView.findViewById(R.id.spinner_club) as Spinner
  43.         val spinnerItems = resources.getStringArray(league)
  44.         val spinnerAdapter = ArrayAdapter(this.ctx, android.R.layout.simple_spinner_dropdown_item, spinnerItems)
  45.         spinnerClub.adapter = spinnerAdapter
  46.  
  47.         val rvClub = clubView.findViewById(R.id.rv_club) as RecyclerView
  48.         rvClub.layoutManager = LinearLayoutManager(context)
  49.         rvClub.adapter = ClubAdapter(teams) {
  50.             activity?.startActivity<ClubDetailsActivity>("teams" to it)
  51.         }
  52.  
  53. //        listTeam.adapter = rvClub.adapter
  54.         val request = ApiRepository()
  55.         val gson = Gson()
  56.         presenter = ClubPresenter(this, request, gson)
  57.  
  58.         spinnerClub.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
  59.             override fun onItemSelected(parent: AdapterView<*>, view: View, position: Int, id: Long) {
  60.                 leagueName = spinnerClub.selectedItem.toString()
  61.                 presenter.getTeamList(leagueName)
  62.             }
  63.  
  64.             override fun onNothingSelected(parent: AdapterView<*>) {
  65.             }
  66.         }
  67.  
  68. //        swipeRefresh.onRefresh {
  69. //            presenter.getTeamList(leagueName)
  70. //        }
  71.  
  72.         return clubView
  73.  
  74.     }
  75.  
  76.     override fun showLoading() {
  77.         progressBar.visible()
  78.     }
  79.  
  80.     override fun hideLoading() {
  81.         progressBar.invisible()
  82.     }
  83.  
  84.     override fun showTeamList(data: List<Team>) {
  85.         swipeRefresh.isRefreshing = false
  86.         teams.clear()
  87.         teams.addAll(data)
  88.         adapter.notifyDataSetChanged()
  89.     }
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement