Android 如何在可展开回收器视图上折叠所有子视图

Android 如何在可展开回收器视图上折叠所有子视图,android,expandablerecyclerview,Android,Expandablerecyclerview,我有我的可扩展回收视图集,有两个布局头和子布局。一切正常 我对标题和子标题使用了不同的布局 当用户单击一个标题时,我希望我的程序检查是否扩展了任何其他标题。如果是,它需要折叠。单击一个菜单后,最后一个展开的视图将折叠 我尝试过使用布尔标志。 如果您有布尔标志,请帮助我保存展开折叠状态。您可以编写一个函数来迭代数据集ArrayList,并将其设置为false/true,然后调用 adapter.notifyDatasetChanged(); 如果您使用它来创建像这样的可展开部分,您可以循环浏览

我有我的可扩展回收视图集,有两个布局头和子布局。一切正常

我对标题和子标题使用了不同的布局

当用户单击一个标题时,我希望我的程序检查是否扩展了任何其他标题。如果是,它需要折叠。单击一个菜单后,最后一个展开的视图将折叠

我尝试过使用布尔标志。
如果您有布尔标志,请帮助我保存展开折叠状态。您可以编写一个函数来迭代数据集ArrayList,并将其设置为false/true,然后调用

adapter.notifyDatasetChanged();
如果您使用它来创建像这样的可展开部分,您可以循环浏览ExpandableContacts部分的实例,并选中标记“expanded”

与Big-Nerd Ranch回收商合作:扩展库('com.bignerdranch.android:expandablerecyclerview:1.0.3')

在RecyclerAdapter.Java代码中

我需要如何在单击另一个父组后折叠组


如果你有解决方案,请评论我,请访问这个酷,你能考虑接受我的答案吗?你可以点击左边的勾号
 @Override
public void onParentItemClickListener(int position) {
    /**
     * @Params
     * Se comienza en -1, al clickear el primer grupo, se registra en la variable su posicion
     * al clickear el siguiente grupo, si la variable no es igual a su posicion se procede a
     * cerrar el grupo anterior.
     * */

    Object parent = mParentItemList.get(position);
    //Toast.makeText(mContext,"posicion "+String.valueOf(position),Toast.LENGTH_SHORT).show();

    if(lastExpanded == -1){
        lastExpanded = position;

    } else if(lastExpanded == position){
        lastExpanded = -1; //Reinicia Variable

        notifyItemChanged(position);
    }else{
        //Cierra grupo abierto
        int oldExpand = lastExpanded;
        Toast.makeText(mContext,"se cerro  "+String.valueOf(oldExpand),Toast.LENGTH_SHORT).show();
        lastExpanded = position;

        //Need the colapse group code

        notifyItemChanged(oldExpand);
        notifyItemChanged(position);
    }

    super.onParentItemClickListener(position);
}