Expandablelistview 组 header 单击时失去焦点

Expandablelistview group header Loses focus when clicked

我有一个一次打开一个组 header 的可扩展列表视图,也就是说,只要我单击一个组 header,我就会关闭之前打开的组 header。每当我第一次单击组 header 时,它的行为都正常,但随后单击组 header 会将单击的组 header 从视图中推到顶部。我怎样才能使组 header 保持在顶部?

list.setOnGroupClickListener(new ExpandableListView.OnGroupClickListener() {
        @SuppressLint("NewApi")
        @Override
        public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) {
         //   parent.smoothScrollToPositionFromTop(groupPosition, 0);
            parent.setSelectionFromTop(groupPosition,0);

            return false;
        }
    });
    list.setOnGroupExpandListener(new ExpandableListView.OnGroupExpandListener() {


        @Override
        public void onGroupExpand(int groupPosition) {
            if (lastExpandedPosition != -1 && groupPosition != lastExpandedPosition) {
                list.collapseGroup(lastExpandedPosition);
            }
            lastExpandedPosition = groupPosition;
        }
    });

在您的 onGroupClick() 方法中使用以下代码。一旦我以这种方式解决了。希望对你有所帮助

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        parent.smoothScrollToPositionFromTop(groupPosition, 0);
    }
},100);