android - cómo llamar(invocar) el método onChildClick de listview expandible?
imageview invoke (1)
Puede obtener clics de botón en su hijo Haga clic en Listner. En resumen, simplemente copie y pegue la sentencia de su caja de cambios de ''onClickHandler'' a ''onChildClick''.
Entonces, tu código será,
public class ExpList extends ExpandableListActivity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
getExpandableListView().setOnChildClickListener(new OnChildClickListener()
{
public boolean onChildClick(ExpandableListView parent, View v,int groupPosition, int childPosition, long id)
{
switch (v.getId()) {
case R.id.imgcall:
//Here I need groupPosition and ChildPosition....
my_function();
break;
case R.id.img_call_icon:
// some code here......
break;
}
}
}
});
}
No olvide marcar esto como Answer si le resulta útil.
Estoy trabajando en la vista de lista ampliable. He configurado OnClickHandler en la vista de la imagen de la fila secundaria, porque los listados de clic en línea no funcionan en este caso. Pero necesito int groupPosition y childPosition para algún procesamiento en mi programa. Y estos están disponibles desde OnClickClick ().
El problema es que necesito OnclickHandler y OnClickClick () (para groupPosition y ChildPosition) ambos. ¿Hay alguna forma de obtener estos dos valores? ¿Podemos llamar (invocar) el método OnClickClick manualmente?
public class ExpList extends ExpandableListActivity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
getExpandableListView().setOnChildClickListener(new OnChildClickListener()
{
public boolean onChildClick(ExpandableListView parent, View v,int groupPosition, int childPosition, long id)
{
// some calculations here....
return false;
}
});
}
public void onClickHandler (View v)
{
switch (v.getId()) {
case R.id.imgcall:
//Here I need groupPosition and ChildPosition....
my_function();
break;
case R.id.img_call_icon:
// some code here......
break;
}
}
}
Mi child_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/img_call_type"
android:layout_width="40px"
android:layout_height="40px"/>
<TextView
android:id="@+id/space"
android:layout_width="10px"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name"
android:textSize="14px"
android:layout_width="115px"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/number"
android:textSize="14px"
android:layout_width="115px"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/date"
android:textSize="14px"
android:layout_width="115px"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/time"
android:textSize="14px"
android:layout_width="115px"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<!-- on this imageview i put OnClickHandler -->
<ImageView
android:id="@+id/img_call_icon"
android:layout_width="40px"
android:layout_height="40px"
android:clickable="true"
android:onClick="onClickHandler"/>
</LinearLayout>
</LinearLayout>