有家伙TabLayout和ViewPager,它在一个片段中显示两个片段 有一个带有复选框的项目列表,第二个片段显示第一个列表中的所有选中项目。项目用 显示recyclerview。我将立即显示适配器的摘录:
@Override
public void onBindViewHolder(@NonNull CardViewHolder holder, int position) {
final Card card = cardList.get(position);
holder.imageView.setImageDrawable(holder.imageView.getResources().getDrawable(card.getImage()));
holder.textViewHeading.setText(card.getHeading());
holder.textViewDescription.setText(card.getDescription());
holder.checkBox.setChecked(card.isEnabled());
holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
card.setEnabled(b);
}
});
}
当我翻页时,我更新了第二个片段(最喜欢的项目列表)中的数据....:
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (position == 0){
DataUtil.refreshChosenList();
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
但什么也没发生。我不知道正确地将监听器挂在复选框上?
当您滚动到第一个片段而不是第二个片段时,看起来更像是在更新列表。