Android 如何调用(调用)可扩展listview的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方

我正在处理可扩展列表视图。我在子行的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;
        }               
     }
            }
        });
  }

如果这对你有帮助的话,别忘了将其标记为答案。

我正在做类似的事情!!!