¡Solo necesitas ser un poco creativo!
Sólo hacer algo como esto:
Subclase el View.OnClickListener
abstract class ProxyAbleClickListener implements OnClickListener {
Runnable ProxyAction;
@Override
public void onClick(View arg0) {
if (ProxyAction != null) {
ProxyAction.run();
}
}
public void setProxyAction(Runnable proxyAction) {
ProxyAction = proxyAction;
}
}
/* Somwhere in your code ! */
YourView view = new Button(context);
view.setOnClickListener(new ProxyAbleClickListener() {
public void onClick(View arg0) {
// Insert onClick Code here
super.onClick(arg0);
}
});
ProxyAbleClickListener listener = (ProxyAbleClickListener) view.getOnClickListener();
listener.setProxyAction(new Runnable() {
@Override
public void run() {
// Insert your proxy code here..
}
});
Asegúrese de tener una subclase vista Como YourView que anula la setOnClickListener y mantiene una referencia al oyente a acceder con getOnClickListner ..
No he probado este código de ninguna manera, trátelo como un pseudocódigo para lo que debe hacer.
espero que esto aprenderá que algunas cosas :)
En este punto, ¿por qué no hacer que su proxy-OnClickListener su OnClickListener? – Otra
posible duplicado de [getOnClickListener() en vistas de Android] (http://stackoverflow.com/questions/11186960/getonclicklistener-in-android-views) –