@@ -928,58 +928,49 @@ private boolean insideAdapterView() {
928928
929929 private AdapterView getAdapterView () {
930930 ViewParent t = getParent ();
931- while (t != null ) {
932- if (t instanceof AdapterView ) {
933- return (AdapterView ) t ;
934- }
935- t = t .getParent ();
931+ if (t instanceof AdapterView ) {
932+ return (AdapterView ) t ;
936933 }
937934 return null ;
938935 }
939936
940937 private void performAdapterViewItemClick () {
941938 if (getOpenStatus ()!= Status .Close ) return ;
942939 ViewParent t = getParent ();
943- while (t != null ) {
944- if (t instanceof AdapterView ) {
945- AdapterView view = (AdapterView ) t ;
946- int p = view .getPositionForView (SwipeLayout .this );
947- if (p != AdapterView .INVALID_POSITION
948- && view .performItemClick (view .getChildAt (p - view .getFirstVisiblePosition ()), p , view
949- .getAdapter ().getItemId (p ))) return ;
940+ if (t instanceof AdapterView ) {
941+ AdapterView view = (AdapterView ) t ;
942+ int p = view .getPositionForView (SwipeLayout .this );
943+ if (p != AdapterView .INVALID_POSITION ){
944+ view .performItemClick (view .getChildAt (p - view .getFirstVisiblePosition ()), p , view
945+ .getAdapter ().getItemId (p ));
950946 }
951- t = t .getParent ();
952947 }
953948 }
954949 private boolean performAdapterViewItemLongClick () {
955950 if (getOpenStatus ()!= Status .Close ) return false ;
956951 ViewParent t = getParent ();
957- while (t != null ) {
958- if (t instanceof AdapterView ) {
959-
960- AdapterView view = (AdapterView ) t ;
961- int p = view .getPositionForView (SwipeLayout .this );
962- if (p == AdapterView .INVALID_POSITION ) return false ;
963- long vId = view .getItemIdAtPosition (p );
964- boolean handled = false ;
965- try {
966- Method m = AbsListView .class .getDeclaredMethod ("performLongPress" , View .class , int .class , long .class );
967- m .setAccessible (true );
968- handled = (boolean ) m .invoke (view , SwipeLayout .this , p , vId );
969-
970- } catch (Exception e ) {
971- e .printStackTrace ();
972-
973- if (view .getOnItemLongClickListener () != null ) {
974- handled = view .getOnItemLongClickListener ().onItemLongClick (view , SwipeLayout .this , p , vId );
975- }
976- if (handled ) {
977- view .performHapticFeedback (HapticFeedbackConstants .LONG_PRESS );
978- }
952+ if (t instanceof AdapterView ) {
953+ AdapterView view = (AdapterView ) t ;
954+ int p = view .getPositionForView (SwipeLayout .this );
955+ if (p == AdapterView .INVALID_POSITION ) return false ;
956+ long vId = view .getItemIdAtPosition (p );
957+ boolean handled = false ;
958+ try {
959+ Method m = AbsListView .class .getDeclaredMethod ("performLongPress" , View .class , int .class , long .class );
960+ m .setAccessible (true );
961+ handled = (boolean ) m .invoke (view , SwipeLayout .this , p , vId );
962+
963+ } catch (Exception e ) {
964+ e .printStackTrace ();
965+
966+ if (view .getOnItemLongClickListener () != null ) {
967+ handled = view .getOnItemLongClickListener ().onItemLongClick (view , SwipeLayout .this , p , vId );
968+ }
969+ if (handled ) {
970+ view .performHapticFeedback (HapticFeedbackConstants .LONG_PRESS );
979971 }
980- return handled ;
981972 }
982- t = t . getParent () ;
973+ return handled ;
983974 }
984975 return false ;
985976 }
0 commit comments