嗨,所有堆栈溢出系列。
我开始学习android
操作系统development
一些项目,我可以做到。
我有一个示例project
,我正在获取一些data
.一切都很好,但如果可能的话,我想这样做。
我正在使用sqlite
,并且正在添加一些项目。如果sqlite
项目等于arraylist
onBindViewHolder
,我想删除。
我的阵列适配器:
public void onBindViewHolder(@NonNull final UserViewHolder holder, final int i) {
//Setting user profile pic with picasso
holder.username.setText(users.get(i).getUsername());
Picasso.with(holder.imageView.getContext())
.load(users.get(i).getProfile_pic_url())
.placeholder(R.drawable.ic_profile)
.error(R.drawable.ic_profile)
.into(holder.imageView);
//Remove item if button cliked
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int position = holder.getAdapterPosition();
removeItem(position);
}
});
}
我试过这个,但它不起作用:
public void onBindViewHolder(@NonNull final UserViewHolder holder, final int i) {
//Removing user which in white list
settings = holder.layout.getContext().getSharedPreferences("INSTAGRAM_UNFOLLOWERS", Context.MODE_PRIVATE);
settings.edit();
String current_user = settings.getString("username", "");
DBWhiteHelper dbWhiteHelper = new DBWhiteHelper(holder.layout.getContext());
if(users.get(i).getUsername().contains(dbWhiteHelper.WhiteList(current_user).get(i).getUsername())){
users.remove(i);
notifyDataSetChanged();
}
//Setting user profile pic with picasso
holder.username.setText(users.get(i).getUsername());
Picasso.with(holder.imageView.getContext())
.load(users.get(i).getProfile_pic_url())
.placeholder(R.drawable.ic_profile)
.error(R.drawable.ic_profile)
.into(holder.imageView);
//Remove item if button clicked
holder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final int position = holder.getAdapterPosition();
removeItem(position);
}
});
}
我也尝试了很多来自StackOverflow的东西,但没有任何效果。
我能做什么,还有想法?
使用此方法
public void removeItem(int pos) {
mDataset.remove(pos);
notifyItemRemoved(pos);
notifyItemRangeChanged(pos, users.size());
}
我认为这会有所帮助。