Android 可扩展的列表视图,在childs中带有按钮

Android 可扩展的列表视图,在childs中带有按钮,android,expandablelistview,Android,Expandablelistview,我正在编写一个ExpandableListActivity,其中包含一个查询DB的SimpleCursorTreeAdapter。我在very child中添加了一个按钮,现在我很难从点击按钮的列表中获取该项目的信息。我认为我的问题是我不太了解如何在适配器中处理数据。大多数示例都是关于类似listadapter的。 我的适配器获得了getChildView实现,但我无法实现的是从原始游标检索已单击组的_id。因为我不知道怎么做,所以我尝试在下面的代码中从组textview中获取名称,但在我单击的

我正在编写一个ExpandableListActivity,其中包含一个查询DB的SimpleCursorTreeAdapter。我在very child中添加了一个按钮,现在我很难从点击按钮的列表中获取该项目的信息。我认为我的问题是我不太了解如何在适配器中处理数据。大多数示例都是关于类似listadapter的。 我的适配器获得了getChildView实现,但我无法实现的是从原始游标检索已单击组的_id。因为我不知道怎么做,所以我尝试在下面的代码中从组textview中获取名称,但在我单击的每个孩子中,我都会获取列表中第一个项目的名称

public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        View v = super.getChildView(groupPosition, childPosition, isLastChild, convertView, parent);
        v.inflate(getApplicationContext(),R.layout.productsexpchilditem, null);

        Button button = (Button)v.findViewById(R.id.button1);
        String name=((TextView)parent.findViewById(R.id.txt_exp_products_name_item)).getText().toString();
        button.setTag(name); 

        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(ProductsActivityExp.this, "TOAST "+v.getTag(), Toast.LENGTH_SHORT).show();
            }
        });      
        return v;
    }

顺便说一句,我没有实现getGroupView方法,因为当我实现它时,我丢失了所有在组中显示的文本(但没有在子组中)。我真的认为使用cursorTreeAdapter得到的具体实现与listadapter不同。

我没有使用ExpandableListView,但通过父级获得名称值似乎很奇怪。所有按钮的名称都相同,这并不奇怪。
您能详细解释一下您想做什么吗?

如果不清楚,很抱歉:我从DB表中获取了项-列表中的每一行都是项的名称,当您通过单击具有名称的行展开时,您可以看到有关项的更多详细信息。在详细信息旁边有一个按钮,我希望单击它可以对特定项目进行操作。问题是,按钮位于“子项”内,从那里我无法获取要传递它们的项属性(具体:使用按钮发送,单击不在子项中但在展开的组中的项的名称)。希望更清楚,明白。尝试通过getGroup(groupPosition)将按钮标记设置为getGroupId(groupPosition)或其他列的值。获取。问题是我没有根据需要实现CursorTreeAdapter接口。我将SimpleCursorTreeAdapter更改为常规CursorTreeAdapter,并且在覆盖了子级和组的“bind”方法之后,一切都像应该的那样工作。