Как установить Проверено в RecyclerView - PullRequest
0 голосов
/ 08 января 2020

У меня есть список состояний флажков, как я могу использовать метод setChecked, чтобы установить флажки, когда приложение снова открывается? Должен ли я сделать интерфейс или использовать что-то еще? Я делаю это, чтобы сохранить состояния флажков после закрытия ... Заранее спасибо.

Это адаптер:

public class RecyclerViewActiveAdapter extends RecyclerView.Adapter<RecyclerViewActiveAdapter.RecyclerViewHolder> {

    private List<ProizvodItem> mLista;
    private OnCheckBoxChangedListener mCheck;

    public interface OnCheckBoxChangedListener{
         void onCheckBoxChanged(int position,boolean isChecked);
    }


    public void setOnCheckBoxChangedListener(OnCheckBoxChangedListener check){
        mCheck=check;
    }

    public static class RecyclerViewHolder extends RecyclerView.ViewHolder{

        public TextView textViewIme;
        public TextView textViewCena;
        public CheckBox checkBox;

        public RecyclerViewHolder(@NonNull View itemView,final OnCheckBoxChangedListener check) {
            super(itemView);
            textViewIme = itemView.findViewById(R.id.cardViewImeActive);
            textViewCena = itemView.findViewById(R.id.cardViewCenaActive);
            checkBox = itemView.findViewById(R.id.cardViewCheckActive);



            checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if(check!=null) {
                        int position = getAdapterPosition();
                        if(position!=RecyclerView.NO_POSITION) {
                            check.onCheckBoxChanged(position,isChecked);
                        }
                    }
                }
            });

        }

    }

    public RecyclerViewActiveAdapter(List<ProizvodItem> Lista){
        mLista = Lista;
    }

    @NonNull
    @Override
    public RecyclerViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_active, parent, false);
        RecyclerViewHolder rvh = new RecyclerViewHolder(v,mCheck);
        return rvh;
    }

    @Override
    public void onBindViewHolder(final RecyclerViewHolder holder, final int position) {
        final ProizvodItem currentItem = mLista.get(position);

        holder.textViewIme.setText(currentItem.getImeProizvoda());
        holder.textViewCena.setText(String.valueOf(currentItem.getCenaProizvoda()));


    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...