因此,我有一个包含两个小部件的Cardview(其警报应用程序),还有一个图像按钮,单击该按钮可删除所述警报。这是代码:
@Override
public void onClick(View v) {
//TODO: needs work. Currently deletes random alarms
alarms.remove(position);
everyday.remove(position);
weekdays.remove(position);
weekends.remove(position);
onOff.remove(position);
notifyItemRemoved(position);
notifyItemChanged(position, alarms);
notifyItemChanged(position, everyday);
notifyItemChanged(position, weekdays);
notifyItemChanged(position, weekends);
notifyItemChanged(position, onOff);
}
});
现在的问题是,它并不总是删除正确的项目(取决于我根据其在屏幕上的物理位置单击的项目),并且当确实删除正确的项目时,它并不总是设置其他项目属性应该是应该的。所有这些都是在recyclerview适配器的onBind方法中发生的。
PS:我传递的所有数据都是随机的,只是为了测试功能。
答案 0 :(得分:0)
删除或更新model.add(ConvLSTM2D(
filters=20,
kernel_size=(3, 3),
batch_input_shape=(None, 1, 32, 32, 3),
input_shape=(1, 32, 32, 3),
padding="same",
return_sequences=True,
data_format="channels_last"
))
的最佳方法之一是将RecyclerView
用于列表。它会处理您所有的通知内容,并添加一些出色的动画,同时在列表中删除和添加一些新项目。
这是DiffUtil
的一个很好的例子:
DiffUtil Example
我认为这会对您有所帮助。