简体   繁体   中英

How to do RecyclerView scroll save

I have a recyclerView. Values are lost when recycler is scrolled down.I would like to have values greater than 7. Values come up when first opened but When I go down the scroll bar, it returns to its original state.

FragmentB.java

public class FragmentB extends  Fragment{
View view ;
TextView textView;
RecyclerView recyclerView ;
ArrayList<OnemliDepremler> onemliDepremler;
BuyukRecyclerAdapter buyukRecyclerAdapter;


@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) {

    view = inflater.inflate(R.layout.fragment_sabit,container,false);
    // textView=view.findViewById(R.id.textView3);

    recyclerView = view.findViewById(R.id.recyclerView);
    LinearLayoutManager layoutManager=new LinearLayoutManager(getActivity());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    layoutManager.scrollToPosition(0);
    recyclerView.setLayoutManager(layoutManager);
    onemliDepremler=new ArrayList<OnemliDepremler>();




    Factory.getInstance().buyukDepremModel().enqueue(new Callback<OnemliDepremModel>() {
        @Override
        public void onResponse(Call<OnemliDepremModel> call, Response<OnemliDepremModel> response) {

            buyukRecyclerAdapter=new BuyukRecyclerAdapter(response.body().data.subList(0, 10));
            recyclerView.setAdapter(buyukRecyclerAdapter);
        }

        @Override
        public void onFailure(Call<OnemliDepremModel> call, Throwable t) {

        }
    });



    return view;

}

}

BuyukRecyclerAdapter.java

 public class BuyukRecyclerAdapter extends RecyclerView.Adapter<BuyukRecyclerAdapter.ViewHolder> {

public static class ViewHolder extends RecyclerView.ViewHolder{
    public TextView buyukluk;
    public TextView yer;
    public TextView tarih;
    public CardView cardView ;
    FrameLayout frameLayout;

    public ViewHolder(View itemView) {
        super(itemView);
        cardView = itemView.findViewById(R.id.card_view);
        buyukluk=itemView.findViewById(R.id.text_buyukluk);
        yer=itemView.findViewById(R.id.text_yer);
        tarih=itemView.findViewById(R.id.text_tarih);
        frameLayout=itemView.findViewById(R.id.frame_layout);
    }
}
List<Datum> onemliDepremler;

public BuyukRecyclerAdapter(List<Datum> onemliDepremler) {
    this.onemliDepremler = onemliDepremler;
}

@Override
public BuyukRecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v= LayoutInflater.from(parent.getContext()).inflate(R.layout.onemli_custom,parent,false);
    final ViewHolder view_holder=new ViewHolder(v);
    return view_holder;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.buyukluk.setText(onemliDepremler.get(position).siddeti);
    holder.tarih.setText("Tarih  :"+onemliDepremler.get(position).tarih);
    holder.yer.setText(onemliDepremler.get(position).lokasyon);

    if(Float.parseFloat(onemliDepremler.get(position).siddeti)>7){
        holder.frameLayout.setBackgroundColor(Color.RED);
    }


}

@Override
public int getItemCount() {
    return onemliDepremler.size();
}
@Override
public void onAttachedToRecyclerView(RecyclerView recyclerView) {
    super.onAttachedToRecyclerView(recyclerView);
}

}

在此处输入图片说明

在此处输入图片说明

Your advice important for me

Thank you very much !

if(Float.parseFloat(onemliDepremler.get(position).siddeti)>7){
     holder.frameLayout.setBackgroundColor(Color.RED);
}else{
     holder.frameLayout.setBackgroundColor(Color.YELLOW);
}

Try this.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM