我在活动上有一个按钮,当按下循环遍历项目列表时,将它们添加到数据库然后关闭活动。
我的问题是,有时在慢速手机和许多列表项上,用户可以在活动关闭之前再次按下按钮,从而导致重复插入。
阻止这种情况发生的推荐方法是什么,我已经尝试禁用按下按钮,但屏幕上没有刷新。
buttonAddChecked.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
SparseBooleanArray CheckedItemIDs = listViewFavorites.getCheckedItemPositions();
for (int i = 0; i < CheckedItemIDs.size(); i++) {
View element = listViewFavorites.getAdapter().getView(CheckedItemIDs.keyAt(i),
null, null);
ShoppingListItem sli;
sli = (ShoppingListItem) element.getTag();
db.insertItem(sli.itemName, 0, sli.itemNotes,
sli.categoryID);
} // looped round all checked items
finish();
}
});