Andy-java 2014-10-04 12:06 采纳率: 0%
浏览 728

ListAdapter 删除一项后更新列表

类ListFragment中:setListAdapter(allquestionlistadapter);
类allquestionlistadapter中:
holder.delete_imageview.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
questionservice.deleteById(id);
Tool.ShowMessage(ctx, "删除成功!");
}
});
请问,类allquestionlistadapter中删除项目后怎么更新列表?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 19:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在所有情况下,你需要确保在onClick方法中正确地调用questionservice.deleteById(id)来删除数据。然而,在你的例子中,你似乎没有提供足够的上下文来解释如何更新列表。

    通常,当你从数据库中删除一个项目的ID时,你可能希望在用户界面中相应地更新列表。这可能是通过刷新整个列表或仅更新显示的行数来实现的。

    如果你想要在点击事件触发时更新列表,你可以使用notifyDataSetChanged()方法。这个方法会重新计算和更新适配器中的数据,并通知UI更新。

    例如:

    holder.delete_imageview.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            questionservice.deleteById(id);
            // 更新列表
            allquestionlistadapter.notifyDataSetChanged();
            Tool.ShowMessage(ctx, "删除成功!");
        }
    });
    

    请注意,这将导致所有列表项都被清空并重新加载。如果只是想更新特定位置的数据,你应该使用notifyItemChanged(position)方法。

    另外,请注意,id参数应该是从数据库获取的值,而不是在生命周期中设置的。

    评论

报告相同问题?