Add single selection

feature/top10
Aurelien Hubert 7 years ago
parent 7fce966159
commit 7d40987e03
  1. 11
      app/src/main/java/net/pokeranalytics/android/ui/fragment/GraphFragment.kt
  2. 16
      app/src/main/java/net/pokeranalytics/android/util/extensions/ChipGroupExtension.kt

@ -13,6 +13,7 @@ import com.github.mikephil.charting.data.LineDataSet
import com.github.mikephil.charting.highlight.Highlight import com.github.mikephil.charting.highlight.Highlight
import com.github.mikephil.charting.listener.OnChartValueSelectedListener import com.github.mikephil.charting.listener.OnChartValueSelectedListener
import com.google.android.material.chip.Chip import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipGroup
import kotlinx.android.synthetic.main.fragment_evograph.* import kotlinx.android.synthetic.main.fragment_evograph.*
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.calculus.GraphType import net.pokeranalytics.android.calculus.GraphType
@ -21,7 +22,9 @@ import net.pokeranalytics.android.ui.activity.components.PokerAnalyticsActivity
import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment import net.pokeranalytics.android.ui.fragment.components.PokerAnalyticsFragment
import net.pokeranalytics.android.ui.graph.setStyle import net.pokeranalytics.android.ui.graph.setStyle
import net.pokeranalytics.android.ui.view.LegendView import net.pokeranalytics.android.ui.view.LegendView
import net.pokeranalytics.android.util.extensions.ChipGroupExtension
import net.pokeranalytics.android.util.extensions.px import net.pokeranalytics.android.util.extensions.px
import net.pokeranalytics.android.util.extensions.toast
interface GraphDataSource { interface GraphDataSource {
@ -109,9 +112,12 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener {
this.chipGroup.addView(chip) this.chipGroup.addView(chip)
} }
this.chipGroup.setOnCheckedChangeListener { group, i -> this.chipGroup.setOnCheckedChangeListener(object : ChipGroupExtension.SingleSelectionOnCheckedListener() {
override fun onCheckedChanged(group: ChipGroup, checkedId: Int) {
super.onCheckedChanged(group, checkedId)
toast("Show: ${stat.aggregationTypes[group.getChildAt(checkedId).id].name}")
} }
})
this.chipGroup.check(this.stat.aggregationTypes.first().ordinal) this.chipGroup.check(this.stat.aggregationTypes.first().ordinal)
} }
@ -144,7 +150,6 @@ class GraphFragment : PokerAnalyticsFragment(), OnChartValueSelectedListener {
// this.text.text = "" // this.text.text = ""
} }
} }

@ -0,0 +1,16 @@
package net.pokeranalytics.android.util.extensions
import com.google.android.material.chip.ChipGroup
class ChipGroupExtension {
open class SingleSelectionOnCheckedListener : ChipGroup.OnCheckedChangeListener {
override fun onCheckedChanged(group: ChipGroup, checkedId: Int) {
for (i in 0 until group.childCount) {
val chip = group.getChildAt(i)
chip.isClickable = chip.id != group.checkedChipId
}
}
}
}
Loading…
Cancel
Save