如何折叠可扩展回收站视图上的所有子视图

时间:2016-04-08 10:27:51

标签: android expandablerecyclerview

我的可扩展Recyclerview设置有两个布局HEADER和CHILD。一切都很好。

http://www.iis.fraunhofer.de/en/ff/bsy/tech/bildanalyse/shore-gesichtsdetektion.html

我为标题和子项使用了不同的布局。

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

我尝试过使用布尔标志。 任何人都可以帮助我

3 个答案:

答案 0 :(得分:0)

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

compare -metric <metric> <in1> <in2> <diff>

答案 1 :(得分:0)

如果您使用此library创建可扩展部分,就像在此example中一样,您可以循环浏览ExpandableContactsSection的实例并检查标记&#39;展开&#39;。

答案 2 :(得分:0)

  

使用Big Nerd Ranch recycler:expand库('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);
}

我需要在单击另一个parentGroup之后如何折叠组...

如果您有解决方案,请给我评论