Preview Lớp GroupUserAdapter.java trong project CRUD User - GROUP Android

Code: Java | Auth: 03cd82
public class GroupUserAdapter extends BaseAdapter {
    ArrayList<GroupUser> listGroupUser;
    GroupUserDAO groupUserDAO;

    public GroupUserAdapter(ArrayList<GroupUser> listGroupUser, GroupUserDAO groupUserDAO) {
        this.listGroupUser = listGroupUser;
        this.groupUserDAO = groupUserDAO;
    }

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

    @Override
    public Object getItem(int i) {
        GroupUser objGroup = listGroupUser.get(i);

        return objGroup;
    }

    @Override
    public long getItemId(int i) {
        GroupUser objGroup = listGroupUser.get(i);
        return objGroup.getId_group();
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        View itemView;
        // khởi tạo cho itemView
        if(view == null){

            itemView = View.inflate(viewGroup.getContext(), R.layout.item_listview_group_user, null);
        }else
            itemView = view;


        //--- lấy thông tin bản ghi dữ liệu
        final GroupUser objGroup = listGroupUser.get(i);
        final int _index = i;


        // ánh xạ các view vào biến
        TextView tv_id = itemView.findViewById(R.id.tv_id);
        TextView tv_name = itemView.findViewById(R.id.tv_name);
        TextView tv_del = itemView.findViewById(R.id.tv_del);
        TextView tv_edit = itemView.findViewById(R.id.tv_edit);


        //----------- set text
        tv_id.setText( objGroup.getId_group() + "");
        tv_name.setText( objGroup.getName());

        //------ viết sự kiện bấm nút
        tv_name.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {

                AlertDialog.Builder builder = new AlertDialog.Builder(viewGroup.getContext());
                builder.setTitle("Group Info");
                builder.setMessage("Name: " + objGroup.getName());
                AlertDialog dialog = builder.create();
                dialog.show();

                return false;
            }
        });


        tv_del.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //------------ hiển thị dialog hỏi
                AlertDialog.Builder builder = new AlertDialog.Builder(viewGroup.getContext());
                builder.setTitle("Xóa nhóm?");
                builder.setIcon(android.R.drawable.ic_delete);
                builder.setMessage("Có chắc chắn xóa nhóm: " + objGroup.getName());

                builder.setPositiveButton("Đồng ý xóa", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        // xử lý sự kiện xóa

                        // gọi lệnh xóa dòng
                        int kq = groupUserDAO.deleteRow(objGroup);
                        if(kq > 0)
                        {
                            // xóa thành công trong csdl
                            listGroupUser.remove(_index); // xóa khỏi danh sách
                            notifyDataSetChanged();
                            Toast.makeText(viewGroup.getContext(), "Đã xóa ", Toast.LENGTH_SHORT).show();

                        }else
                            Toast.makeText(viewGroup.getContext(), "Không xóa được  " + kq, Toast.LENGTH_SHORT).show();

                        dialogInterface.dismiss(); // đóng dialog

                    }
                });

                builder.setNegativeButton("Không xóa", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss(); // đóng dialog
                    }
                });



                AlertDialog dialog = builder.create();
                dialog.show();



            }
        });

        tv_edit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                showDialogEdit(objGroup, _index ,viewGroup.getContext());
            }
        });



        return itemView;
    }

    public void showDialogEdit(GroupUser objGroup, int index, Context context){

        final Dialog dialog = new Dialog(context, R.style.Theme_AppCompat_Light_Dialog_Alert);

        dialog.setContentView(R.layout.dialog_edit_group_user);


        EditText ed_name = dialog.findViewById(R.id.ed_name);
        ed_name.setText(objGroup.getName());

        Button btnSave = dialog.findViewById(R.id.btnSave);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // viết lệnh update dữ liệu

                objGroup.setName(   ed_name.getText().toString() ); // gán lại dữ liệu người dùng mới nhập

                int res = groupUserDAO.updateRow(objGroup);

                if(res > 0)
                {
                    listGroupUser.set(index,objGroup);

                    notifyDataSetChanged();
                    Toast.makeText(context, "Đã sửa ", Toast.LENGTH_SHORT).show();

                }else
                    Toast.makeText(context, "Không sửa được  " + res, Toast.LENGTH_SHORT).show();

                dialog.dismiss();
            }
        });
        dialog.show();
    }



    public void showDialogAdd( Context context){

//        final Dialog dialog = new Dialog(context);
        final Dialog dialog = new Dialog(context, R.style.Theme_AppCompat_Light_Dialog_Alert);


        dialog.setContentView(R.layout.dialog_add_group_user);
        dialog.setTitle("Thêm nhóm mới");

        EditText ed_name = dialog.findViewById(R.id.ed_name);


        Button btnSave = dialog.findViewById(R.id.btnSave);
        btnSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // viết lệnh update dữ liệu

                GroupUser objGroup = new GroupUser();
                objGroup.setName(   ed_name.getText().toString() );

                long res = groupUserDAO.insertNew(objGroup);

                if(res > 0)
                {
                    listGroupUser.clear();
                    listGroupUser.addAll(groupUserDAO.selectAll());

                    notifyDataSetChanged();
                    Toast.makeText(context, "Đã thêm mới ", Toast.LENGTH_SHORT).show();

                }else
                    Toast.makeText(context, "Không thêm được  " + res, Toast.LENGTH_SHORT).show();

                dialog.dismiss();
            }
        });
        dialog.show();

    }

}