From c8692c2f6d3a1765eb2f09f41a0bf5fc2e83fcc1 Mon Sep 17 00:00:00 2001 From: Hario Budiharjo Date: Sat, 27 Oct 2018 02:55:55 +0700 Subject: [PATCH] Detail Player,Player team list,overview team,model Player --- .../DetailPlayer/DetailPlayerActivity.kt | 51 +++++++++++++++++- .../DetailPlayer/DetailPlayerPresenter.kt | 37 +++++++++++++ .../DetailPlayer/DetailPlayerView.kt | 9 ++++ .../DetailTeam/DetailTeamActivity.kt | 43 ++++++++++++--- .../OverviewTeam/OverviewFragment.kt | 9 +++- .../PlayerTeam/PlayerTeamFragment.kt | 52 ++++++++++++++++++- .../PlayerTeam/PlayerTeamPresenter.kt | 35 +++++++++++++ .../DetailTeam/PlayerTeam/PlayerTeamView.kt | 10 ++++ .../DetailTeam/PlayerTeam/RVPlayerAdapter.kt | 52 +++++++++++++++++++ .../Model/playerDetailResponse.kt | 3 ++ .../Model/playerModel.kt | 11 ++++ .../Model/playerResponse.kt | 3 ++ .../main/res/layout/content_detail_player.xml | 51 +++++++++++------- app/src/main/res/layout/fragment_overview.xml | 7 +-- .../main/res/layout/fragment_player_team.xml | 9 ++-- .../main/res/layout/rv_list_player_item.xml | 37 +++++++++++++ 16 files changed, 380 insertions(+), 39 deletions(-) create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerPresenter.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerView.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamPresenter.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamView.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/RVPlayerAdapter.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerDetailResponse.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerModel.kt create mode 100644 app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerResponse.kt create mode 100644 app/src/main/res/layout/rv_list_player_item.xml diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerActivity.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerActivity.kt index a045fb1..c883412 100644 --- a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerActivity.kt +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerActivity.kt @@ -1,18 +1,65 @@ package com.hariobudiharjo.footballmatchschedule.DetailPlayer +import android.app.ProgressDialog import android.os.Bundle -import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity; +import android.util.Log +import com.bumptech.glide.Glide +import com.google.gson.Gson +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Network.ApiMatch import com.hariobudiharjo.footballmatchschedule.R import kotlinx.android.synthetic.main.activity_detail_player.* +import kotlinx.android.synthetic.main.content_detail_player.* -class DetailPlayerActivity : AppCompatActivity() { +class DetailPlayerActivity : AppCompatActivity(), DetailPlayerView { + + private var matchs: MutableList = mutableListOf() + lateinit var progress: ProgressDialog + lateinit var presenter: DetailPlayerPresenter + + override fun showLoading() { + progress.show() + } + + override fun hideLoading() { + progress.dismiss() + } + + override fun showDetail(data: MutableList) { + Log.d("DEBUGDETAIL", data.toString()) + Glide.with(this@DetailPlayerActivity).load(data[0].strFanart1).into(ivFanart) + tvWeight.text = data[0].strWeight + tvHeight.text = data[0].strHeight + tvPosition.text = data[0].strPosition + tvDescription.text = data[0].strDescriptionEN + + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_detail_player) setSupportActionBar(toolbar) + + getSupportActionBar()!!.setDisplayHomeAsUpEnabled(true) + + toolbar.setNavigationOnClickListener { + onBackPressed() + } + + + val idplayer = intent.getStringExtra("id") + val request = ApiMatch() + val gson = Gson() + + progress = ProgressDialog(this) + progress.setTitle("Loading") + progress.setMessage("Wait while loading...") + progress.setCancelable(false) + + presenter = DetailPlayerPresenter(this, request, gson) + presenter.getPlayerList(idplayer) } } diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerPresenter.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerPresenter.kt new file mode 100644 index 0000000..f8c5c17 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerPresenter.kt @@ -0,0 +1,37 @@ +package com.hariobudiharjo.footballmatchschedule.DetailPlayer + +import android.util.Log +import com.google.gson.Gson +import com.hariobudiharjo.footballmatchschedule.Model.playerDetailResponse +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Model.playerResponse +import com.hariobudiharjo.footballmatchschedule.Network.ApiMatch +import com.hariobudiharjo.footballmatchschedule.Util.CoroutineContextProvider +import org.jetbrains.anko.doAsync +import org.jetbrains.anko.uiThread + +class DetailPlayerPresenter(private val view: DetailPlayerView, + private val apiRepository: ApiMatch, + private val gson: Gson, + private val contextPool: CoroutineContextProvider = CoroutineContextProvider()) { + private var matchs: MutableList = mutableListOf() + + fun getPlayerList(idPlayer: String) { + + Log.d("DEBUGDETAIL", "MASUK PAK EKO") + view.showLoading() + doAsync { + val data = gson.fromJson(apiRepository + .doRequest("https://www.thesportsdb.com/api/v1/json/1/lookupplayer.php?id=$idPlayer"), + playerDetailResponse::class.java) + matchs.clear() + matchs.addAll(data.players) + Log.d("DEBUG", matchs.toString()) + + uiThread { + view.showDetail(matchs) + view.hideLoading() + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerView.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerView.kt new file mode 100644 index 0000000..f10f888 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailPlayer/DetailPlayerView.kt @@ -0,0 +1,9 @@ +package com.hariobudiharjo.footballmatchschedule.DetailPlayer + +import com.hariobudiharjo.footballmatchschedule.Model.playerModel + +interface DetailPlayerView { + fun showLoading() + fun hideLoading() + fun showDetail(data: MutableList) +} \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/DetailTeamActivity.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/DetailTeamActivity.kt index 6c376c6..4da9c0f 100644 --- a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/DetailTeamActivity.kt +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/DetailTeamActivity.kt @@ -1,5 +1,6 @@ package com.hariobudiharjo.footballmatchschedule.DetailTeam +import android.app.ProgressDialog import android.os.Bundle import android.support.design.widget.TabLayout import android.support.v4.app.Fragment @@ -22,28 +23,28 @@ import kotlinx.android.synthetic.main.content_detail_team.* class DetailTeamActivity : AppCompatActivity(), DetailTeamView { override fun showLoading() { - Log.d("DEBUG Detail Team", "SHOW") + progress.show() } override fun hideLoading() { - Log.d("DEBUG Detail Team", "DISMISS") + progress.dismiss() } override fun showDetail(data: MutableList) { teams.addAll(data) Log.d("DEBUG Detail Team", teams.toString()) - - Glide.with(this@DetailTeamActivity).load(teams[0].strTeamBadge).into(ivClubDetailTeam) tvNamaDetailTeam.text = teams[0].strTeam tvTahunDetailTeam.text = teams[0].intFormedYear tvStadiunDetailTeam.text = teams[0].strStadium + setupViewPager(viewPager, teams[0].strDescriptionEN.toString(), teams[0].idTeam.toString()); } lateinit var tabLayout: TabLayout lateinit var viewPager: ViewPager private var teams: MutableList = mutableListOf() lateinit var presenter: DetailTeamPresenter + lateinit var progress: ProgressDialog override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -53,7 +54,6 @@ class DetailTeamActivity : AppCompatActivity(), DetailTeamView { val idTeam = intent.getStringExtra("id") viewPager = findViewById(R.id.viewpager) - setupViewPager(viewPager); tabLayout = findViewById(R.id.tabs) tabLayout.setupWithViewPager(viewPager) @@ -61,15 +61,42 @@ class DetailTeamActivity : AppCompatActivity(), DetailTeamView { val request = ApiMatch() val gson = Gson() + progress = ProgressDialog(this) + progress.setTitle("Loading") + progress.setMessage("Wait while loading...") + progress.setCancelable(false) + presenter = DetailTeamPresenter(this, request, gson) presenter.getTeamDetail(idTeam) + + getSupportActionBar()!!.setDisplayHomeAsUpEnabled(true) + + toolbar.setNavigationOnClickListener { + onBackPressed() + } } - private fun setupViewPager(viewPager: ViewPager) { + private fun setupViewPager(viewPager: ViewPager, overView: String, idTeam: String) { + + val bundleOverView = Bundle() + bundleOverView.putString("overview", overView) + + val bundleTeam = Bundle() + bundleTeam.putString("idteam", idTeam) + val adapter = ViewPagerAdapter(supportFragmentManager) - adapter.addFragment(OverviewFragment(), "Overview") - adapter.addFragment(PlayerTeamFragment(), "Player") +// adapter.addFragment(OverviewFragment(), "Overview") +// adapter.addFragment(PlayerTeamFragment(), "Player") + + val overviewFragment = OverviewFragment() + val playerTeamFragment = PlayerTeamFragment() + + overviewFragment.arguments = bundleOverView + playerTeamFragment.arguments = bundleTeam + + adapter.addFragment(overviewFragment, "Overview") + adapter.addFragment(playerTeamFragment, "Player") viewPager.adapter = adapter } diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/OverviewTeam/OverviewFragment.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/OverviewTeam/OverviewFragment.kt index 28e0c39..f90fd7b 100644 --- a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/OverviewTeam/OverviewFragment.kt +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/OverviewTeam/OverviewFragment.kt @@ -3,9 +3,11 @@ package com.hariobudiharjo.footballmatchschedule.DetailTeam.OverviewTeam import android.os.Bundle import android.support.v4.app.Fragment +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView import com.hariobudiharjo.footballmatchschedule.R @@ -15,7 +17,12 @@ class OverviewFragment : Fragment() { savedInstanceState: Bundle?): View? { val viewku = inflater.inflate(R.layout.fragment_overview, container, false) - + val strtext = arguments!!.getString("overview") + val tvOverview = viewku.findViewById(R.id.tvOverview) + tvOverview.text = strtext + + + Log.d("OVERVIEW", strtext) return viewku } diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamFragment.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamFragment.kt index 302bebb..f7df5f0 100644 --- a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamFragment.kt +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamFragment.kt @@ -1,19 +1,69 @@ package com.hariobudiharjo.footballmatchschedule.DetailTeam.PlayerTeam +import android.app.ProgressDialog import android.os.Bundle import android.support.v4.app.Fragment +import android.support.v7.widget.LinearLayoutManager +import android.support.v7.widget.RecyclerView +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.LinearLayout +import com.google.gson.Gson +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Network.ApiMatch import com.hariobudiharjo.footballmatchschedule.R -class PlayerTeamFragment : Fragment() { +class PlayerTeamFragment : Fragment(), PlayerTeamView { + + private var matchs: MutableList = mutableListOf() + lateinit var adapter: RVPlayerAdapter + lateinit var progress: ProgressDialog + lateinit var presenter: PlayerTeamPresenter + override fun showLoading() { + progress.show() + } + + override fun hideLoading() { + progress.dismiss() + } + + override fun showDetail(data: MutableList) { + matchs.addAll(data) + adapter.notifyDataSetChanged() + } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + +// https://www.thesportsdb.com/api/v1/json/1/lookup_all_players.php?id=133604 val viewku = inflater.inflate(R.layout.fragment_player_team, container, false) + + + val _recyclerView: RecyclerView = viewku.findViewById(R.id.rv_player) + _recyclerView.layoutManager = LinearLayoutManager(context, LinearLayout.VERTICAL, false) + + val idteam = arguments!!.getString("idteam") + Log.d("IDTEAM", idteam) + + val request = ApiMatch() + val gson = Gson() + + progress = ProgressDialog(context) + progress.setTitle("Loading") + progress.setMessage("Wait while loading...") + progress.setCancelable(false) + + presenter = PlayerTeamPresenter(this, request, gson) + presenter.getPlayerList(idteam) + + + adapter = RVPlayerAdapter(context!!, matchs) + _recyclerView.adapter = adapter + return viewku } diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamPresenter.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamPresenter.kt new file mode 100644 index 0000000..16adb8d --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamPresenter.kt @@ -0,0 +1,35 @@ +package com.hariobudiharjo.footballmatchschedule.DetailTeam.PlayerTeam + +import android.util.Log +import com.google.gson.Gson +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Model.playerResponse +import com.hariobudiharjo.footballmatchschedule.Network.ApiMatch +import com.hariobudiharjo.footballmatchschedule.Util.CoroutineContextProvider +import org.jetbrains.anko.doAsync +import org.jetbrains.anko.uiThread + +class PlayerTeamPresenter(private val view: PlayerTeamView, + private val apiRepository: ApiMatch, + private val gson: Gson, + private val contextPool: CoroutineContextProvider = CoroutineContextProvider()) { + private var matchs: MutableList = mutableListOf() + + fun getPlayerList(idTeam: String) { + view.showLoading() + doAsync { + val data = gson.fromJson(apiRepository + .doRequest("https://www.thesportsdb.com/api/v1/json/1/lookup_all_players.php?id=$idTeam"), + playerResponse::class.java) + matchs.clear() + matchs.addAll(data.player) + Log.d("DEBUG", matchs.toString()) + + uiThread { + view.showDetail(matchs) + view.hideLoading() + } + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamView.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamView.kt new file mode 100644 index 0000000..8218bc5 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/PlayerTeamView.kt @@ -0,0 +1,10 @@ +package com.hariobudiharjo.footballmatchschedule.DetailTeam.PlayerTeam + +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Model.teamModel + +interface PlayerTeamView { + fun showLoading() + fun hideLoading() + fun showDetail(data: MutableList) +} \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/RVPlayerAdapter.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/RVPlayerAdapter.kt new file mode 100644 index 0000000..b3bc97d --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/DetailTeam/PlayerTeam/RVPlayerAdapter.kt @@ -0,0 +1,52 @@ +package com.hariobudiharjo.footballmatchschedule.DetailTeam.PlayerTeam + +import android.content.Context +import android.content.Intent +import android.support.v7.widget.RecyclerView +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.ImageView +import android.widget.TextView +import com.bumptech.glide.Glide +import com.hariobudiharjo.footballmatchschedule.DetailMatch.DetailActivity +import com.hariobudiharjo.footballmatchschedule.DetailPlayer.DetailPlayerActivity +import com.hariobudiharjo.footballmatchschedule.DetailTeam.DetailTeamActivity +import com.hariobudiharjo.footballmatchschedule.Model.matchModel +import com.hariobudiharjo.footballmatchschedule.Model.playerModel +import com.hariobudiharjo.footballmatchschedule.Model.teamModel +import com.hariobudiharjo.footballmatchschedule.R + +class RVPlayerAdapter(var context: Context, var matchs: List) : RecyclerView.Adapter() { + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val view = LayoutInflater.from(context).inflate(R.layout.rv_list_player_item, parent, false) + return ViewHolder(view) + } + + override fun getItemCount(): Int { + return matchs.size + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.bindItems(matchs[position]) + } + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + fun bindItems(data: playerModel) { + + val iv_player: ImageView = itemView.findViewById(R.id.iv_player) + val tv_player: TextView = itemView.findViewById(R.id.tv_player) + val tv_player_position: TextView = itemView.findViewById(R.id.tv_player_position) + + tv_player.text = data.strPlayer + tv_player_position.text = data.strPosition + Glide.with(itemView.context).load(data.strCutout).into(iv_player) + + itemView.setOnClickListener({ + val intent = Intent(it.context, DetailPlayerActivity::class.java) + intent.putExtra("id", data.idPlayer) + it.context.startActivity(intent) + }) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerDetailResponse.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerDetailResponse.kt new file mode 100644 index 0000000..e329831 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerDetailResponse.kt @@ -0,0 +1,3 @@ +package com.hariobudiharjo.footballmatchschedule.Model + +data class playerDetailResponse(val players: List) \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerModel.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerModel.kt new file mode 100644 index 0000000..c624a82 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerModel.kt @@ -0,0 +1,11 @@ +package com.hariobudiharjo.footballmatchschedule.Model + +data class playerModel( + val idPlayer: String?, + val strPlayer: String?, + val strFanart1: String?, + val strHeight: String?, + val strWeight: String?, + val strPosition: String?, + val strCutout: String?, + val strDescriptionEN: String?) \ No newline at end of file diff --git a/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerResponse.kt b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerResponse.kt new file mode 100644 index 0000000..8176689 --- /dev/null +++ b/app/src/main/java/com/hariobudiharjo/footballmatchschedule/Model/playerResponse.kt @@ -0,0 +1,3 @@ +package com.hariobudiharjo.footballmatchschedule.Model + +data class playerResponse(val player: List) \ No newline at end of file diff --git a/app/src/main/res/layout/content_detail_player.xml b/app/src/main/res/layout/content_detail_player.xml index d5c916a..8a691e8 100644 --- a/app/src/main/res/layout/content_detail_player.xml +++ b/app/src/main/res/layout/content_detail_player.xml @@ -9,12 +9,12 @@ tools:showIn="@layout/activity_detail_player"> + app:layout_constraintEnd_toEndOf="@+id/tvDescription" + app:layout_constraintStart_toStartOf="@+id/tvDescription" + app:layout_constraintTop_toBottomOf="@+id/ivFanart" /> + app:layout_constraintEnd_toEndOf="@+id/ivFanart" + app:layout_constraintTop_toBottomOf="@+id/ivFanart" /> + app:layout_constraintStart_toStartOf="@+id/textView" + app:layout_constraintTop_toBottomOf="@+id/textView" /> + app:layout_constraintEnd_toEndOf="@+id/textView2" + app:layout_constraintTop_toBottomOf="@+id/textView2" /> + app:layout_constraintEnd_toStartOf="@+id/tvHeight" + app:layout_constraintTop_toBottomOf="@+id/tvHeight" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_overview.xml b/app/src/main/res/layout/fragment_overview.xml index d73fc8d..1997b86 100644 --- a/app/src/main/res/layout/fragment_overview.xml +++ b/app/src/main/res/layout/fragment_overview.xml @@ -1,14 +1,15 @@ - - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_player_team.xml b/app/src/main/res/layout/fragment_player_team.xml index 551a8d7..65aba94 100644 --- a/app/src/main/res/layout/fragment_player_team.xml +++ b/app/src/main/res/layout/fragment_player_team.xml @@ -5,10 +5,11 @@ android:layout_height="match_parent" tools:context=".DetailTeam.PlayerTeam.PlayerTeamFragment"> - - + android:layout_height="wrap_content" + tools:listitem="@layout/rv_list_player_item" /> \ No newline at end of file diff --git a/app/src/main/res/layout/rv_list_player_item.xml b/app/src/main/res/layout/rv_list_player_item.xml new file mode 100644 index 0000000..36ecaee --- /dev/null +++ b/app/src/main/res/layout/rv_list_player_item.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + \ No newline at end of file