Размещать статьи в месяц в recycleView

Я делаю приложение и в RecycleView я помещаю данные и хочу разметить их в месяц, точка состоит в том, что он вверх дном это разделяет хорошо, но сделав scroll снизу вверх они прокручиваются месяцы.

            if(meses.equals("")){
            meses=asignarFecha(adapterList.get(p).getDatetime(),4);
            game.mes.setText(asignarFecha(adapterList.get(p).getDatetime(),4));
        }else {
            if(meses.equals(asignarFecha(adapterList.get(p).getDatetime(),4))){
                game.mes.setVisibility(View.GONE);
            }else{
                if(meses != asignarFecha(adapterList.get(p).getDatetime(),4)){
                    meses=asignarFecha(adapterList.get(p).getDatetime(),4);
                    game.mes.setText(asignarFecha(adapterList.get(p).getDatetime(),4));
                    game.mes.setVisibility(View.VISIBLE);

                }
            }
        }

Такой останься scroll вверх дном: img Scroll de arriba hacia abajo

И так останься, когда ты идешь снизу вверх: img Scroll de abajo hacia arriba

Я учусь использовать recycleview, но столкнулся с этой проблемой.

0
задан 21.03.2019, 01:13
2 ответа

Я это решил таким образом:

        if(pos1 <= p){

        if(meses.equals(mescomparacion)){
            game.mes.setVisibility(View.GONE);
        }else{

            game.mes.setVisibility(View.VISIBLE);
            meses = mescomparacion;

            if(p != 0){

                if(mescomparacion.equals(asignarFecha(adapterList.get(p-1).getDatetime(),4))){
                    game.mes.setVisibility(View.GONE);
                }
            }
        }
        pos1 = p;
    }

    //Scroll hacia arriba
    if(pos1 > p){

        if(p != 0){
            meses = asignarFecha(adapterList.get(p-1).getDatetime(),4);
        }else{
            game.mes.setVisibility(View.VISIBLE);
            pos = 1;
        }

        if(meses.equals(mescomparacion) && pos == 0){
            game.mes.setVisibility(View.GONE);
            meses = mescomparacion;
        }else{
            game.mes.setVisibility(View.VISIBLE);
            meses = mescomparacion;
        }
        pos1 = p;
    }
0
ответ дан 02.12.2019, 05:21

Ты можешь пробовать следующее:

recyclerView.getRecycledViewPool().setMaxRecycledViews(TYPE_HEADER, 0); //(TYPE_HEADER vendría a ser el itemViewType de tu vista agrupadora)

, Где ты инициализируешь твой adapter. С этим ты показываешь, что вид, соответствующий твоему комплектующему header не переобучился в течение scroll. Хотя ты должен считать, что у этого есть важное попадание в выступлении тебя aplicaciГіn.

Это tambiГ©n может функционировать:

holder.setIsRecyclable(false);

в твоем viewholder.

0
ответ дан 02.12.2019, 05:21
  • 1
    Попробуйте осуществлять первую форму и я получил тот же результат, и я думаю, что, осуществив вторую, я лишаю его всего чувства в использование recycleview – Irving Gonzalez 21.03.2019, 06:54