Tengo una vista personalizada con 2 diseños lineat: el primero es el encabezado de la vista y el segundo es la vista de detalles.¿cómo puedo activar el evento Onclick programáticamente en android?
En la vista personalizada, la OnClickListener de la cabecera LinearLayout ya está definido: cuando se dispara, se colapsa/expandes el segundo LinearLayout.
Lo que quiero hacer es agregar más funcionalidades al evento OnClickListener de mi encabezado (es decir: contraer/expandir el segundo diseño y mostrar un Toast).
No puedo modificar el código fuente de la vista personalizada. Traté de establecer un nuevo OnClickListener pero oculta el evento inicial (colapso/expansión).
¿Cómo debo implementar esto?
El código fuente de mi vista personalizada:
public class ExpandoLayout extends ViewGroup
{
/* some declarations */
private Linearlayout header;
private linearlayout footer;
/* some code */
@override
protected void onFinishInflate() {
header= new LinearLayout(context);
header.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
toggleExpand();
}
});
}
}
lo que quiero hacer es añadir algo de código para el evento ya definido OnClickListener en mi actividad. Algo así:
public class myActivity extends Activity {
private Linearlayout myCustomView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rsdetail);
myCustomView= (MyCustomView) findViewById(R.id.expanded);
myCustomView.getChildAt(0).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(v instanceof LinearLayout)
{
v.performClick();
Toast.makeText(getActivity(), "ExpandoOnClickListener", 2000).show();
}
}
});
}
Por favor indicar el código ....... respuesta –
Ver @ de waqaslam. – Halil