From 27a2aaf5507b16fff43113bcbb01511a72d3021b Mon Sep 17 00:00:00 2001 From: MrFeng Date: Thu, 6 Dec 2018 17:55:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=8F=8D=E5=B0=84=E8=8E=B7=E5=8F=96OnClickLi?= =?UTF-8?q?stener?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../library/ExpandableTextView.java | 48 +++---------------- 1 file changed, 7 insertions(+), 41 deletions(-) diff --git a/library/src/main/java/cn/carbs/android/expandabletextview/library/ExpandableTextView.java b/library/src/main/java/cn/carbs/android/expandabletextview/library/ExpandableTextView.java index 3832ea4..bbb1a6b 100644 --- a/library/src/main/java/cn/carbs/android/expandabletextview/library/ExpandableTextView.java +++ b/library/src/main/java/cn/carbs/android/expandabletextview/library/ExpandableTextView.java @@ -391,52 +391,18 @@ public void onClick(View view) { } } - public View.OnClickListener getOnClickListener(View view) { - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { - return getOnClickListenerV14(view); - } else { - return getOnClickListenerV(view); - } - } - - private View.OnClickListener getOnClickListenerV(View view) { - View.OnClickListener retrievedListener = null; - try { - Field field = Class.forName(CLASS_NAME_VIEW).getDeclaredField("mOnClickListener"); - field.setAccessible(true); - retrievedListener = (View.OnClickListener) field.get(view); - } catch (Exception e) { - e.printStackTrace(); - } + private View.OnClickListener mOnClickLis; - return retrievedListener; + public View.OnClickListener getOnClickListener(View view) { + return mOnClickLis; } - private View.OnClickListener getOnClickListenerV14(View view) { - View.OnClickListener retrievedListener = null; - try { - Field listenerField = Class.forName(CLASS_NAME_VIEW).getDeclaredField("mListenerInfo"); - Object listenerInfo = null; - - if (listenerField != null) { - listenerField.setAccessible(true); - listenerInfo = listenerField.get(view); - } - - Field clickListenerField = Class.forName(CLASS_NAME_LISTENER_INFO).getDeclaredField("mOnClickListener"); - - if (clickListenerField != null && listenerInfo != null) { - clickListenerField.setAccessible(true); - retrievedListener = (View.OnClickListener) clickListenerField.get(listenerInfo); - } - } catch (Exception e) { - e.printStackTrace(); - } - - return retrievedListener; + @Override + public void setOnClickListener(View.OnClickListener l) { + super.setOnClickListener(l); + mOnClickLis = l; } - /** * Copy from: * http://stackoverflow.com/questions