public CommonViewHolder setOnClickListenr(int viewId, OnClickListener listener){ View view = mViews.get(viewId); if(view == null){ view = mConvertView.findViewById(viewId); view.setOnClickListener(listener); mViews.put(viewId, view); }else if(!view.hasOnClickListeners()){ view.setOnClickListener(listener); mViews.put(viewId, view); } return this; } }
window.setTouchInterceptor(new OnTouchListener() { public boolean onTouch(View view, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { window.dismiss(); boolean consumedEvent = true; if (view.hasOnClickListeners()) { consumedEvent = view.onTouchEvent(event); } return consumedEvent; } return false; } });
/** * Remove an onclick listener * * @param view * @author malin.myemail@gmail.com * @website https://github.com/androidmalin * @data 2016/01/22 */ private void unBingListener(View view) { if (view != null) { try { if (view.hasOnClickListeners()) { view.setOnClickListener(null); } if (view instanceof ViewGroup && !(view instanceof AdapterView)) { ViewGroup viewGroup = (ViewGroup) view; int viewGroupChildCount = viewGroup.getChildCount(); for (int i = 0; i < viewGroupChildCount; i++) { unBingListener(viewGroup.getChildAt(i)); } } } catch (Exception e) { e.printStackTrace(); } } }
if (view != null) { try { if (view.hasOnClickListeners()) { view.setOnClickListener(null);
@Override public void onBindViewHolder(final MergeSectionDividerAdapter.BasicHolder holder, final int sectionIndex, final int row) { if (extraInterface != null && extraInterface.getOnItemClickListener() != null && adapter.getCellType(sectionIndex, row) == CellType.NORMAL) { Pair<Integer, Integer> pair = getInnerPosition(sectionIndex, row); if (holder != null && holder.itemView != null && !(holder.itemView instanceof AdapterView) && (!holder.itemView.hasOnClickListeners() || needResetClickListener(pair.first, pair.second, holder.itemView.getTag(R.id.item_click_tag_key_id))) ) { OnInnerItemClickListener onInnerItemClickListener = null; if (holder.itemView.getTag(R.id.item_click_tag_key_id) instanceof OnInnerItemClickListener) { onInnerItemClickListener = (OnInnerItemClickListener) holder.itemView.getTag(R.id.item_click_tag_key_id); onInnerItemClickListener.sectionIndex = pair.first; onInnerItemClickListener.rowPosition = pair.second; } else { onInnerItemClickListener = new OnInnerItemClickListener(pair.first, pair.second); } holder.itemView.setOnClickListener(onInnerItemClickListener); holder.itemView.setTag(R.id.item_click_tag_key_id, onInnerItemClickListener); } } super.onBindViewHolder(holder, sectionIndex, row); }
/** * Remove an onclick listener */ public static void unBingListener(View view) { if (view != null) { try { if (view.hasOnClickListeners()) { view.setOnClickListener(null); } if (view instanceof TextView){ ((TextView) view).addTextChangedListener(null); ((TextView) view).setOnEditorActionListener(null); } if (view.getOnFocusChangeListener() != null) { view.setOnFocusChangeListener(null); } if (view instanceof ViewGroup && !(view instanceof AdapterView)) { ViewGroup viewGroup = (ViewGroup) view; int viewGroupChildCount = viewGroup.getChildCount(); for (int i = 0; i < viewGroupChildCount; i++) { unBingListener(viewGroup.getChildAt(i)); } } } catch (Exception e) { e.printStackTrace(); } } }
data.put("HasOnClickListener", v.hasOnClickListeners());