Skip to content

Commit 05c0954

Browse files
committed
fix recycler multiple checkbox
1 parent d59ad65 commit 05c0954

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

app/src/main/java/com/paperplay/androidformbuilder/ExampleJavaActivity.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,12 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
5353

5454
//create multiple checkbox
5555
ArrayList<CheckboxData> atcListChk = new ArrayList<>();
56-
atcListChk.add(new CheckboxData(1, "1", "Satu", false));
57-
atcListChk.add(new CheckboxData(2, "1", "Satu Dua", false));
58-
atcListChk.add(new CheckboxData(3, "3", "Tiga", false));
56+
// atcListChk.add(new CheckboxData(1, "1", "Satu", false));
57+
// atcListChk.add(new CheckboxData(2, "1", "Satu Dua", false));
58+
// atcListChk.add(new CheckboxData(3, "3", "Tiga", false));
59+
for (int i = 0; i < 20; i++) {
60+
atcListChk.add(new CheckboxData(i, "1", "data "+i, false));
61+
}
5962
MyMultipleCheckbox myMultipleCheckbox = new MyMultipleCheckbox.Builder(ExampleJavaActivity.this)
6063
.setTitle("Select Checkbox").setItem(new ArrayList<>()).setFormLayout(formLayout).create();
6164
myMultipleCheckbox.updateListCheckbox(atcListChk);

myformbuilder/src/main/java/com/paperplay/myformbuilder/adapter/CheckboxAdapter.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import android.view.View;
88
import android.view.ViewGroup;
99
import android.widget.CheckBox;
10-
import android.widget.CompoundButton;
1110
import android.widget.TextView;
1211

1312
import com.paperplay.myformbuilder.R;
@@ -38,11 +37,13 @@ public CheckboxViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i
3837

3938
@Override
4039
public void onBindViewHolder(@NonNull CheckboxViewHolder checkboxViewHolder, int i) {
41-
checkboxViewHolder.rowTitle.setText(checkboxDataList.get(i).getValue());
42-
checkboxViewHolder.checkBox.setChecked(checkboxDataList.get(i).isChecked());
40+
final CheckboxData checkboxData = checkboxDataList.get(i);
41+
checkboxViewHolder.rowTitle.setText(checkboxData.getValue());
42+
checkboxViewHolder.checkBox.setChecked(checkboxData.isChecked());
4343
checkboxViewHolder.checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
44-
checkboxDataList.get(i).setChecked(isChecked);
44+
checkboxData.setChecked(isChecked);
4545
});
46+
4647
}
4748

4849
public List<CheckboxData> getCheckboxListChecked() {
@@ -52,7 +53,7 @@ public List<CheckboxData> getCheckboxListChecked() {
5253
listChecked.add(checkboxData);
5354
}
5455
}
55-
return checkboxDataList;
56+
return listChecked;
5657
}
5758

5859
@Override
@@ -69,6 +70,7 @@ class CheckboxViewHolder extends RecyclerView.ViewHolder{
6970
super(itemView);
7071
rowTitle = itemView.findViewById(R.id.txtRowCheckboxTitle);
7172
checkBox = itemView.findViewById(R.id.checkboxSelected);
73+
this.setIsRecyclable(false);
7274
}
7375
}
7476
}

0 commit comments

Comments
 (0)