Android 如何调用(调用)可扩展listview的onChildClick方法?
我正在处理可扩展列表视图。我在子行的imageview上设置了onClickHandler,因为内联clicklistners在这种情况下不起作用。但是我需要int-groupPosition和childPosition在我的程序中进行一些处理。这些可从OnChildClick()获得 问题是我同时需要OnclickHandler和OnChildClick()(用于groupPosition和ChildPosition)。有没有办法得到这两个值?我们可以手动调用(调用)OnChildClick方法吗Android 如何调用(调用)可扩展listview的onChildClick方法?,android,imageview,invoke,expandablelistview,onclicklistener,Android,Imageview,Invoke,Expandablelistview,Onclicklistener,我正在处理可扩展列表视图。我在子行的imageview上设置了onClickHandler,因为内联clicklistners在这种情况下不起作用。但是我需要int-groupPosition和childPosition在我的程序中进行一些处理。这些可从OnChildClick()获得 问题是我同时需要OnclickHandler和OnChildClick()(用于groupPosition和ChildPosition)。有没有办法得到这两个值?我们可以手动调用(调用)OnChildClick方
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;
}
}
}
My 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>
您可以在您的孩子点击列表上点击按钮。 简而言之,只需将“onClickHandler”的开关大小写语句复制粘贴到“onChildClick” 所以,你的代码是
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;
}
}
}
});
}
如果这对你有帮助的话,别忘了将其标记为答案。我正在做类似的事情!!!