Work on bottom sheet and data

dev_raz_wip
Aurelien Hubert 7 years ago
parent 7e782eea90
commit 063b3c8606
  1. 13
      app/src/main/java/net/pokeranalytics/android/ui/adapter/components/DataListAdapter.kt
  2. 4
      app/src/main/java/net/pokeranalytics/android/ui/fragment/components/BottomSheetGameFragment.kt
  3. 26
      app/src/main/res/layout/row_bottom_sheet_title.xml

@ -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<RecyclerView.ViewHolder>() {
class DataListAdapter(var delegate: DisplayableDelegate, var layout: Int? = null) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
inner class DataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
fun bind(row: DisplayableDataSource, listener: View.OnClickListener) {
//itemView.title.text = row.title
//itemView.container.setOnClickListener(listener)
try {
itemView.findViewById<AppCompatTextView>(R.id.title).text = row.title
itemView.findViewById<AppCompatTextView>(R.id.title).text = row.title
itemView.findViewById<ConstraintLayout>(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 {

@ -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)

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:background="@color/kaki_medium"
android:layout_height="wrap_content"
android:foreground="?selectableItemBackground"
android:padding="8dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="Data Type Title" />
</androidx.constraintlayout.widget.ConstraintLayout>
Loading…
Cancel
Save