我正在使用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事件。
答案 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();
}
}
这比我的其他答案容易得多(无论如何都有点儿错误),所以忘了那个:)