diff --git a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt index a7c42e13..4e46a53e 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/view/RowViewType.kt @@ -3,6 +3,8 @@ package net.pokeranalytics.android.ui.view 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 kotlinx.android.synthetic.main.row_bottom_sheet_grid_title.view.* import kotlinx.android.synthetic.main.row_bottom_sheet_title.view.* @@ -48,6 +50,7 @@ enum class RowViewType { BOTTOM_SHEET_DATA, TITLE_GRID, ROW_SESSION, + BUTTON, STAT; /** @@ -141,6 +144,15 @@ enum class RowViewType { false ) ) + BUTTON -> { + ButtonViewHolder( + LayoutInflater.from(parent.context).inflate( + R.layout.row_button, + parent, + false + ) + ) + } STAT -> StatsTitleValueViewHolder( LayoutInflater.from(parent.context).inflate( R.layout.row_stats_title_value, @@ -179,7 +191,7 @@ enum class RowViewType { itemView.rowHeaderTitleAmount_title.text = row.title } - val value = try { + val value = try { row.value?.toDouble() ?: 0.0 } catch (e: Exception) { 0.0 @@ -307,6 +319,16 @@ enum class RowViewType { } } + inner class ButtonViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), + BindableHolder { + override fun bind(position: Int, row: RowRepresentable, adapter: RowRepresentableAdapter) { + itemView.findViewById(R.id.title).text = row.localizedTitle(itemView.context) + val listener = View.OnClickListener { + adapter.delegate?.onRowSelected(position, row) + } + itemView.findViewById(R.id.container).setOnClickListener(listener) + } + } inner class HeaderSessionViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), BindableHolder { @@ -330,6 +352,4 @@ enum class RowViewType { } - - } \ No newline at end of file