应该清除它时更新列表

时间:2016-04-05 10:58:42

标签: android

我目前正在邀请客户作为访客来使用我的应用。邀请将通过电子邮件发送,他们的电子邮件地址将显示在RecyclerView中,直到他们接受为止。我已经制作了一个清除按钮,它将清除ListView中的所有电子邮件但由于某种原因,一旦我选择了清除按钮,它就会清除电子邮件,但是如果我去输入新的电子邮件,那么之前列表中的所有电子邮件都会再次显示。

这是使用的代码。

public class InviteAdapter extends RecyclerView.Adapter<InviteAdapter.UserViewHolder> {
    private static final String TAG = "Invite";

    private List <Invites> invites;

    public InviteAdapter(List<Invites> invites){
        this.invites = invites;
    }

    @Override
    public UserViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        final View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.row_email_invite, parent, false);

        return new UserViewHolder(itemView);

    }

    @Override
    public void onBindViewHolder(UserViewHolder holder, int position) {
        Invites invite = invites.get(position);

        holder.emailAddress.setText(invite.getEmail_address());
    }

    Override
    public int getItemCount() {
        return invites.size();
    }

    public class UserViewHolder extends RecyclerView.ViewHolder{

        TextView emailAddress;

        public UserViewHolder(View v) {
            super(v);
            emailAddress = (TextView) v.findViewById(R.id.row_email);
        }
    }

    public void setInvites(List<Invites> invites){
        this.invites = invites;
        notifyDataSetChanged();

    }

    public void delete() {
        Log.i(TAG, "Invites deleted");
        invites.clear();
        notifyDataSetChanged();
    }
}

还提供了客户端邀请XML的外观图像:

enter image description here

1 个答案:

答案 0 :(得分:0)

只有清除列表无法帮助您清除数据,因为列表中的数据仍然存在于原始数据源中以及何时从中获取数据再次来源,您将获得从列表中删除的数据。要摆脱这种情况,也要从源中删除数据。

例如。如果您要从数据库创建列表,那么清除列表时也会删除数据库中的所有记录删除查询。