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