Disable multiple select on swiping

This commit is contained in:
M66B
2019-02-04 14:57:55 +00:00
parent 271d401f19
commit 62ac12268f
2 changed files with 18 additions and 2 deletions

View File

@@ -24,14 +24,23 @@ import androidx.recyclerview.selection.SelectionTracker;
import androidx.recyclerview.widget.RecyclerView;
public class SelectionPredicateMessage extends SelectionTracker.SelectionPredicate<Long> {
private boolean enabled;
private RecyclerView recyclerView;
SelectionPredicateMessage(RecyclerView recyclerView) {
this.enabled = true;
this.recyclerView = recyclerView;
}
void setEnabled(boolean enabled) {
this.enabled = enabled;
}
@Override
public boolean canSetStateForKey(@NonNull Long key, boolean nextState) {
if (!enabled)
return false;
AdapterMessage adapter = (AdapterMessage) recyclerView.getAdapter();
TupleMessageEx message = adapter.getItemForKey(key);
@@ -43,6 +52,9 @@ public class SelectionPredicateMessage extends SelectionTracker.SelectionPredica
@Override
public boolean canSetStateAtPosition(int position, boolean nextState) {
if (!enabled)
return false;
AdapterMessage adapter = (AdapterMessage) recyclerView.getAdapter();
TupleMessageEx message = adapter.getItemAtPosition(position);