Erweiterbare Listenansicht setOnChildClickListener funktioniert nicht

Ich verwende eine erweiterbare Listenansicht. Ich habe setOnChildClickListener innerhalb der onceate-Methode angegeben, aber der setOnChildClickListener funktioniert nicht. Ich habe in SO nach der Lösung gesucht, aber ich kann keine Lösung finden. Hier gebe ich, was ich getan habe

  public class MenuActivity extends Activity{
    ArrayList<MyObject> CatList = new ArrayList<MyObject>();
    ArrayList<Object> childItem = new ArrayList<Object>();
    ExpandableListView ExList;

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
             setContentView(R.layout.menuactivity);

         ExList=(ExpandableListView) findViewById(R.id.lvMenu) ;


           ExList.setOnChildClickListener(new OnChildClickListener() {

            @Override
            public boolean onChildClick(ExpandableListView parent, View v,
                    int groupPosition, int childPosition, long id) {

                  ShowItem(CatList.get(childPosition).getId());

                  Toast.makeText(context, ""+CatList.get(childPosition).getId(), 1).show();
                // TODO Auto-generated method stub
                return false;
            }
        });

    }


 public void ShowItem(int id)
 {
   // do something
 }

  public class ElistAdapt extends BaseExpandableListAdapter  {

 public ArrayList<MyObject> groupItem, tempGrpChild;
 public ArrayList<Object> Childtem = new ArrayList<Object>();
 public LayoutInflater minflater;
 public Activity activity;


 public ElistAdapt(ArrayList<MyObject> GroupList, ArrayList<Object> childItem) {
  groupItem = GroupList;
  this.Childtem = childItem;
 }

 public void setInflater(LayoutInflater mInflater, Activity act) {
  this.minflater = mInflater;
  activity = act;
 }

 @Override
 public Object getChild(int groupPosition, int childPosition) {
  return null;
 }

 @Override
 public long getChildId(int groupPosition, int childPosition) {
  return 0;
 }

 @Override
 public View getChildView(final int groupPosition, final int childPosition,
   boolean isLastChild, View convertView, ViewGroup parent) {
  tempGrpChild = (ArrayList<MyObject>) Childtem.get(groupPosition);
  TextView text = null;
  TextView text2 = null;
  if (convertView == null) {
   convertView = minflater.inflate(R.layout.childrow, null);
  }
  text = (TextView) convertView.findViewById(R.id.textView1);
  text2 = (TextView) convertView.findViewById(R.id.textView2);
  text.setText(tempGrpChild.get(childPosition).getName());
  text2.setText(tempGrpChild.get(childPosition).getPrice());

  return convertView;  
 }

 @Override
 public int getChildrenCount(int groupPosition) {
  return ((ArrayList<MyObject>) Childtem.get(groupPosition)).size();
 }

 @Override
 public Object getGroup(int groupPosition) {
//  return null;
  return this.groupItem.get(groupPosition);
 }

 @Override
 public int getGroupCount() {
  return groupItem.size();
 }

 @Override
 public void onGroupCollapsed(int groupPosition) {
  super.onGroupCollapsed(groupPosition);
 }

 @Override
 public void onGroupExpanded(int groupPosition) {
  super.onGroupExpanded(groupPosition);
 }

 @Override
 public long getGroupId(int groupPosition) {
  return 0;
 }

 @Override
 public View getGroupView(final int groupPosition, boolean isExpanded,
   View convertView, ViewGroup parent) {

     if (convertView == null) 
          {
            LayoutInflater inflater =  (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.grouprow, null);
           }

           TextView tvGroupName = (TextView) convertView.findViewById(R.id.textView1);
           tvGroupName.setText(groupItem.get(groupPosition).getName());


  return convertView;
 }

 @Override
 public boolean hasStableIds() {
  return false;
 }

 @Override
 public boolean isChildSelectable(int groupPosition, int childPosition) {
  return true;
 }

}
 }

Bitte helfen Sie mir, warum setOnChildClickListener nicht funktioniert

Antworten auf die Frage(3)

Ihre Antwort auf die Frage