复选框和recyclerview:如何防止复选框混乱

时间:2015-11-12 02:58:13

标签: android

我只需要解释如何防止我的复选框搞砸了。我知道我需要一个改变状态监听器或其他东西。

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

    private List<numbers> mNumbers = Collections.emptyList();

    public myAdapter (List<numbers> numbers) {
        mNumbers = numbers;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View v  = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_slot, parent, false);
        ViewHolder vh = new ViewHolder(v);
        return vh;
    }


    @Override
    public void onBindViewHolder(ViewHolder holder, final int position) {
        holder.bindNumbers(mNumbers.get(position));
    }

    @Override
    public int getItemCount() {
        return mNumbers.size();
    }

    public void delete(int position) {
        mNumbers.remove(position);
        notifyItemRemoved(position);
    }


    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {

        TextView numberText;
        EditText checklistText;
        Button deleteButton;
        CheckBox checkDisBox;

        public ViewHolder(View itemView) {
            super(itemView);
            numberText = (TextView) itemView.findViewById(R.id.number);
            checklistText = (EditText) itemView.findViewById(R.id.editText);
            deleteButton = (Button) itemView.findViewById(R.id.deleteButton);
            checkDisBox = (CheckBox) itemView.findViewById(R.id.checkBox);

            deleteButton.setOnClickListener(this);
        }

        public void bindNumbers(numbers numbers) {
            numberText.setText(numbers.getInt() + "");
        }

        @Override
        public void onClick(View v) {
            delete(getAdapterPosition());
        }
    }
}

0 个答案:

没有答案