当我在可扩展列表适配器列表视图中使用任何ClickListener时不展开

时间:2014-11-19 05:32:06

标签: android

在此代码中,可展开列表将展开

@Override
        public View getGroupView(final int groupPosition, final boolean isExpanded,
                View convertView, ViewGroup parent) 
        {
            if (convertView == null)
            {
                convertView = infleter.inflate(R.layout.child_row, null);
                ((CheckedTextView) convertView).setText(expandlist.get(groupPosition).Parent.getCategory());
                ((CheckedTextView) convertView).setChecked(isExpanded);


            }



            return convertView;
        }

        @Override
        public View getChildView(final int groupPosition, final int childPosition,
                boolean isLastChild, View convertView, ViewGroup parent) 
        {
            final ArrayList<Expense>expenses=expandlist.get(groupPosition).childItem;
            TextView textexpense=null;
            if (convertView==null) 
            {
                convertView=infleter.inflate(R.layout.parent, null);
            }
            textexpense=(TextView)convertView.findViewById(R.id.textView1);
            textexpense.setText(expenses.get(childPosition).getExpenseName());


            return convertView;
        }

此代码列表不会展开

@Override
        public View getGroupView(final int groupPosition, final boolean isExpanded,
                View convertView, ViewGroup parent) 
        {
            if (convertView == null)
            {
                convertView = infleter.inflate(R.layout.child_row, null);
                ((CheckedTextView) convertView).setText(expandlist.get(groupPosition).Parent.getCategory());
                ((CheckedTextView) convertView).setChecked(isExpanded);


            }

            convertView.setOnClickListener(new OnClickListener()
            {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                }
            });


            return convertView;
        }

        @Override
        public View getChildView(final int groupPosition, final int childPosition,
                boolean isLastChild, View convertView, ViewGroup parent) 
        {
            final ArrayList<Expense>expenses=expandlist.get(groupPosition).childItem;
            TextView textexpense=null;
            if (convertView==null) 
            {
                convertView=infleter.inflate(R.layout.parent, null);
            }
            textexpense=(TextView)convertView.findViewById(R.id.textView1);
            textexpense.setText(expenses.get(childPosition).getExpenseName());


            return convertView;
        }

1 个答案:

答案 0 :(得分:1)

请勿使用转换视图的click事件。 只是尝试获取可扩展ListView的onGroupClickListener。

expandableList.setOnGroupClickListener(new OnGroupClickListener() {
    public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition,
            long id) {
             //Do Your Task Here.
             }
          }