ListView中的CheckBox

點擊ListView中的CheckBox時改變view的屬性,同時改變User中的數(shù)據(jù)。

public class OneAdapter extends BaseAdapter {
    private Context mContext;
    private ArrayList<User> userList;

    public OneAdapter(Context mContext, ArrayList<User> userList) {
        this.mContext = mContext;
        this.userList = userList;
    }

    public Context getmContext() {
        return mContext;
    }

    public void setmContext(Context mContext) {
        this.mContext = mContext;
    }

    public ArrayList<User> getList() {
        return userList;
    }

    public void setList(ArrayList<User> userList) {
        this.userList = userList;
    }

    @Override
    public int getCount() {
        return userList.size();
    }

    @Override
    public Object getItem(int i) {
        return userList.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    class ViewHolder {
        CheckBox one_checkBox;
        ImageView one_image;
        TextView one_name;
    }

    @Override
    public View getView(final int i, View view, ViewGroup viewGroup) {
        final ViewHolder viewHolder;//優(yōu)化
        if (view == null) {
            viewHolder = new ViewHolder();
            view = View.inflate(mContext, R.layout.item_one, null);
            viewHolder.one_checkBox = view.findViewById(R.id.one_checkBox);
            viewHolder.one_image = view.findViewById(R.id.one_image);
            viewHolder.one_name = view.findViewById(R.id.one_name);
            view.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) view.getTag();

        }
        final User user = userList.get(i);
        viewHolder.one_checkBox.setChecked(user.isCheck);
        viewHolder.one_image.setImageResource(user.getImage());
        viewHolder.one_name.setText(user.getName());
       viewHolder.one_checkBox.setOnClickListener(new       View.OnClickListener() {//checkBox響應點擊事件
           @Override
           public void onClick(View view) {
               if (viewHolder.one_checkBox.isChecked()){//點擊CheckBox時,做出判斷
                   viewHolder.one_checkBox.setChecked(true);//當發(fā)生改變時,設置view為true
                   user.setCheck(true);//將user中的內容設為true
               }else {
                   viewHolder.one_checkBox.setChecked(false);//否則設為false
                   user.setCheck(false);
               }
           }
       });
        return view;
    }

}
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容