From 063b3c860674af4abe138a12ac66bf21f5a8130c Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Mon, 18 Feb 2019 09:06:31 +0100 Subject: [PATCH] Work on bottom sheet and data --- .../ui/adapter/components/DataListAdapter.kt | 15 +++++++---- .../components/BottomSheetGameFragment.kt | 4 +-- .../res/layout/row_bottom_sheet_title.xml | 26 +++++++++++++++++++ 3 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/layout/row_bottom_sheet_title.xml diff --git a/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt b/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt index d5fb592e..404a15e1 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt @@ -4,6 +4,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.appcompat.widget.AppCompatTextView +import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView import net.pokeranalytics.android.R @@ -17,16 +18,19 @@ interface DisplayableDataSource { var title: String } -class DataListAdapter(var delegate: DisplayableDelegate, layout: Int? = null) : RecyclerView.Adapter() { +class DataListAdapter(var delegate: DisplayableDelegate, var layout: Int? = null) : RecyclerView.Adapter() { inner class DataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bind(row: DisplayableDataSource, listener: View.OnClickListener) { //itemView.title.text = row.title //itemView.container.setOnClickListener(listener) - itemView.findViewById(R.id.title).text = row.title - itemView.findViewById(R.id.title).text = row.title - + try { + itemView.findViewById(R.id.title).text = row.title + itemView.findViewById(R.id.container).setOnClickListener(listener) + } catch (e: Exception) { + e.printStackTrace() + } } } @@ -36,7 +40,8 @@ class DataListAdapter(var delegate: DisplayableDelegate, layout: Int? = null) : } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { - return DataViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.row_title, parent, false)) + val layoutToInflate = layout ?: R.layout.row_title + return DataViewHolder(LayoutInflater.from(parent.context).inflate(layoutToInflate, parent, false)) } override fun getItemCount(): Int { diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt index bad25aef..29317063 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt @@ -42,13 +42,13 @@ class BottomSheetGameFragment : BottomSheetFragment(), DisplayableDelegate { return 1 } - /** * Init data */ private fun initData() { val data = getData() game = if (data is Game) data else Game() + game.title = "Test" } /** @@ -58,7 +58,7 @@ class BottomSheetGameFragment : BottomSheetFragment(), DisplayableDelegate { LayoutInflater.from(requireContext()).inflate(R.layout.bottom_sheet_game, view?.bottomSheetContainer, true) val viewManager = LinearLayoutManager(requireContext()) - val dataAdapter = DataListAdapter(this) + val dataAdapter = DataListAdapter(this, R.layout.row_bottom_sheet_title) gameNameRecyclerView.apply { setHasFixedSize(true) diff --git a/app/src/main/res/layout/row_bottom_sheet_title.xml b/app/src/main/res/layout/row_bottom_sheet_title.xml new file mode 100644 index 00000000..95f4b4c9 --- /dev/null +++ b/app/src/main/res/layout/row_bottom_sheet_title.xml @@ -0,0 +1,26 @@ + + + + + + \ No newline at end of file