package com.elphin.framework.util.acd; import android.util.Log; import android.view.View; import android.widget.AdapterView; import java.lang.reflect.Method; /** * Created with IntelliJ IDEA. * User: guangongbo * Date: 13-6-25 * Time: 下午10:45 */ interface MethodBinding { void bind(View target, Object owner, Method action); } class OnClickBinding implements MethodBinding { @Override public void bind(View target, final Object owner, final Method action) { target.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { action.invoke(owner, v); } catch (Exception e) { Log.e("binding", "", e); } } }); } } class OnItemClickBinding implements MethodBinding { @Override public void bind(View target, final Object owner, final Method action) { final AdapterView adapterView = (AdapterView) target; adapterView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { try { action.invoke(owner, parent, view, position, id); } catch (Exception e) { Log.e("binding", "", e); } } }); } }