如何从ExpandableListView中的视图获取默认侦听器?

时间:2012-09-21 19:06:05

标签: android expandablelistview onclicklistener

我想修改我的ExpandableListView,以便在正常点击时展开点击后的论坛并折叠所有其他论坛,长按一下它只展开点击后的论坛。如果有getOnClickListener()

,这将非常简单
OnClickListener oldListener = view.getOnClickListener(); // DOESN"T EXIST
view.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        collapseAll();
        oldListener.onClick(v);
    }
}
view.setOnLongClickListener(new OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        oldListener.onClick(v);
        return true;
    }
}

但是没有这样的方法。我可以通过ExpandableListView.expandGroup(int position)来做,但是我需要从视图中找到位置,这使得它应该更加复杂。还有更好的主意吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将视图位置设置为其标记来缓存视图中的视图位置。

view.setTag(position);

您必须在添加子视图时执行此操作,可能在适配器类中。

然后当你需要这个位置时,通过调用view.getTag();

从视图中获取它