使用onGroupExpand获取ExpandableListView的扩展组视图

时间:2012-01-08 18:34:15

标签: android expandablelistview expandablelistadapter

我正在使用ExpandableListView而我在展开群组时尝试移动图片失败(图片是群组视图的一部分)。

这是我的代码:

my_list_view.setOnGroupExpandListener(new OnGroupExpandListener()
{
    @Override
    public void onGroupExpand(int groupPosition)
    {
        Toast.makeText(getBaseContext(), "Group " + my_list_view.getGroupId(groupPosition), Toast.LENGTH_SHORT).show();
    }
});

基本上我的问题是:当我可以使用的唯一变量是groupPosition时,如何访问展开的Group视图?

任何你应该创建的自定义适配器响应都不会被接受。我已经尝试过了,它对我的​​问题不起作用。我需要的是监听onGroupExpand事件。

1 个答案:

答案 0 :(得分:11)

我最终做的是在制作自定义适配器时使用boolean isExpanded中免费获得的getGroupView。我能够按照我想要的方式工作,而不是在活动中完成。如果保存构造函数中的上下文,则可以使用它来获取资源。

@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
  if (isExpanded) {
    mContext.getResources().getDrawable(R.drawable.arrow)
    doSomething();
  }
  else {
    doSomethingElse();
  }
}

这比我的其他答案容易得多(无论如何都有点儿错误),所以忘了那个:)