parent
c29572f79e
commit
ede2c8e706
@ -0,0 +1,55 @@ |
|||||||
|
package net.pokeranalytics.android.ui.fragment.components.bottomsheet |
||||||
|
|
||||||
|
import android.os.Bundle |
||||||
|
import android.view.View |
||||||
|
import net.pokeranalytics.android.ui.view.RowRepresentable |
||||||
|
import net.pokeranalytics.android.ui.view.RowViewType |
||||||
|
|
||||||
|
/** |
||||||
|
* Manage multiple items selection in a bottom sheet list |
||||||
|
*/ |
||||||
|
open class BottomSheetMultiSelectionFragment : BottomSheetListFragment() { |
||||||
|
|
||||||
|
private val selectedRows: ArrayList<RowRepresentable> = ArrayList() |
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { |
||||||
|
super.onViewCreated(view, savedInstanceState) |
||||||
|
initData() |
||||||
|
initUI() |
||||||
|
} |
||||||
|
|
||||||
|
override fun viewTypeForPosition(position: Int): Int { |
||||||
|
return RowViewType.TITLE_CHECK.ordinal |
||||||
|
} |
||||||
|
|
||||||
|
//TODO: Set the correct values |
||||||
|
override fun getValue(): Any? { |
||||||
|
return selectedRows |
||||||
|
} |
||||||
|
|
||||||
|
override fun onRowSelected(position: Int, row: RowRepresentable, fromAction: Boolean) { |
||||||
|
|
||||||
|
if (selectedRows.contains(row)) { |
||||||
|
selectedRows.remove(row) |
||||||
|
} else { |
||||||
|
selectedRows.add(row) |
||||||
|
} |
||||||
|
|
||||||
|
dataAdapter.refreshRow(row) |
||||||
|
|
||||||
|
/* |
||||||
|
realmData?.let { |
||||||
|
val selectedData = it[position] |
||||||
|
selectedData?.let {data -> |
||||||
|
this.delegate.onRowValueChanged(data, this.row) |
||||||
|
dismiss() |
||||||
|
} |
||||||
|
} |
||||||
|
*/ |
||||||
|
} |
||||||
|
|
||||||
|
override fun isSelected(row: RowRepresentable): Boolean { |
||||||
|
return selectedRows.contains(row) |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
Loading…
Reference in new issue