I am using PagedList live data and PositionalDataSource to create information in mvvm pattern. I tried all possible solutions on stackoverflow similar to it . It didn't work.
on Below code i have null pointer exception : Attempt to invoke virtual method '..Item.getSelected()' on a null object reference
I have very carefully set it on Item class .
@Override
public void onBindViewHolder(PageViewAdapter.PageViewHolder holder, int position) {
item = getItem(position);
if (item != null) {
holder.lineTextView.setText(String.valueOf(item));
}
holder.checkBox.setTag(position);
holder.checkBox.setOnCheckedChangeListener(null);
holder.checkBox.setChecked(item.getSelected());
holder.checkBox.setOnCheckedChangeListener((compoundButton, isChecked) -> {
if (compoundButton.isPressed()) {
// holder.checkBox.setSelected(isChecked);
item.setSelected(isChecked);
}
});
}
My Data Model as Item Class
public class Item {
private boolean selected = true;
public Item(String value) {
this.value = value;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
public boolean getSelected() {
return selected;
}
}
my code on Git : https://github.com/kumarjitendra/pageViewItem