File tree Expand file tree Collapse file tree 1 file changed +21
-2
lines changed
catalog/java/io/material/catalog/card Expand file tree Collapse file tree 1 file changed +21
-2
lines changed Original file line number Diff line number Diff line change 1919import io .material .catalog .R ;
2020
2121import androidx .recyclerview .widget .RecyclerView ;
22+ import android .view .KeyEvent ;
2223import android .view .LayoutInflater ;
2324import android .view .MotionEvent ;
2425import android .view .View ;
@@ -98,6 +99,25 @@ private void bind(Item item, int position) {
9899 subtitleView .setText (item .subtitle );
99100 if (selectionTracker != null ) {
100101 bindSelectedState ();
102+ materialCardView .setOnKeyListener (
103+ (v , keyCode , event ) -> {
104+ if (event .getAction () == KeyEvent .ACTION_DOWN
105+ && (keyCode == KeyEvent .KEYCODE_ENTER
106+ || keyCode == KeyEvent .KEYCODE_DPAD_CENTER )) {
107+ Long selectionKey = details .getSelectionKey ();
108+ if (selectionKey != null ) {
109+ if (selectionTracker .isSelected (selectionKey )) {
110+ selectionTracker .deselect (selectionKey );
111+ } else {
112+ selectionTracker .select (selectionKey );
113+ }
114+ return true ;
115+ }
116+ }
117+ return false ;
118+ });
119+ } else {
120+ materialCardView .setOnKeyListener (null );
101121 }
102122 }
103123
@@ -187,8 +207,7 @@ static class Details extends ItemDetailsLookup.ItemDetails<Long> {
187207
188208 long position ;
189209
190- Details () {
191- }
210+ Details () {}
192211
193212 @ Override
194213 public int getPosition () {
You can’t perform that action at this time.
0 commit comments