@@ -372,6 +372,28 @@ public interface SelectManager<T>
372
372
*/
373
373
void setOnItemInitCallback (OnItemInitCallback<T > callback );
374
374
375
+ /**
376
+ * {@link #addStateInterceptor(StateInterceptor)}
377
+ *
378
+ * @param interceptor
379
+ */
380
+ @Deprecated
381
+ void setSelectedInterceptor (SelectedInterceptor<T > interceptor );
382
+
383
+ /**
384
+ * 添加拦截对象
385
+ *
386
+ * @param interceptor
387
+ */
388
+ void addStateInterceptor (StateInterceptor<T > interceptor );
389
+
390
+ /**
391
+ * 移除拦截对象
392
+ *
393
+ * @param interceptor
394
+ */
395
+ void removeStateInterceptor (StateInterceptor<T > interceptor );
396
+
375
397
/**
376
398
* 设置选择模式
377
399
*
@@ -435,19 +457,19 @@ public interface SelectManager<T>
435
457
void performClick (int index );
436
458
437
459
/**
438
- * 设置该位置的选中状态
460
+ * 模拟点击该项
439
461
*
440
- * @param index
441
- * @param selected
462
+ * @param item
442
463
*/
443
- void setSelected ( int index , boolean selected );
464
+ void performClick ( T item );
444
465
445
466
/**
446
- * 模拟点击该项
467
+ * 设置该位置的选中状态
447
468
*
448
- * @param item
469
+ * @param index
470
+ * @param selected
449
471
*/
450
- void performClick ( T item );
472
+ void setSelected ( int index , boolean selected );
451
473
452
474
/**
453
475
* 设置该项的选中状态
@@ -584,28 +606,39 @@ public interface SelectManager<T>
584
606
void onInitItem (T item );
585
607
}
586
608
587
- interface Selectable
609
+ /**
610
+ * 状态拦截
611
+ *
612
+ * @param <T>
613
+ */
614
+ interface StateInterceptor <T>
588
615
{
589
- boolean isSelected ();
590
-
591
- void setSelected (boolean selected );
616
+ /**
617
+ * 拦截
618
+ *
619
+ * @param item
620
+ * @param selected
621
+ * @return true-拦截掉,
622
+ */
623
+ boolean interceptItem (T item , boolean selected );
592
624
}
593
625
594
- class SelectableModel implements Selectable
626
+ /**
627
+ * 用{@link StateInterceptor}替代
628
+ *
629
+ * @param <T>
630
+ */
631
+ @Deprecated
632
+ interface SelectedInterceptor <T>
595
633
{
596
- private boolean selected;
597
-
598
- @Override
599
- public boolean isSelected ()
600
- {
601
- return selected;
602
- }
603
-
604
- @Override
605
- public void setSelected (boolean selected )
606
- {
607
- this . selected = selected;
608
- }
634
+ /**
635
+ * 拦截
636
+ *
637
+ * @param item
638
+ * @param selected
639
+ * @return true-拦截掉,
640
+ */
641
+ boolean interceptItem (T item , boolean selected );
609
642
}
610
643
}
611
644
```
0 commit comments