android - 当cardview在recyclerview中被swpied时如何从firebase中删除对象>
问题描述
我有recyclerview列表,它也存储在firebase数据库中,我希望当我刷cardview时,它会从recyclerview和firebase中删除它,但我不知道如何从firebase中删除它。
代码:-
new ItemTouchHelper(new ItemTouchHelper.SimpleCallback( 0,ItemTouchHelper.LEFT|ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder viewHolder1) {
return false;
}
@Override
public void onSwiped(@NonNull final RecyclerView.ViewHolder viewHolder, final int i) {
contactList.remove(viewHolder.getAdapterPosition());
mAdapter.notifyDataSetChanged();
Toast.makeText(getApplicationContext(),"Contact Removed",Toast.LENGTH_LONG).show();
}
}).attachToRecyclerView(mRecyclerView);
适配器:
class saveContactAdapter extends RecyclerView.Adapter<saveContactAdapter.ExampleViewHolder> {
private ArrayList<SaveContact> contactList;
public static class ExampleViewHolder extends RecyclerView.ViewHolder {
public TextView mTextView1;
public TextView mTextView2;
public ExampleViewHolder(@NonNull View itemView) {
super(itemView);
mTextView1 = itemView.findViewById(R.id.textView);
mTextView2 = itemView.findViewById(R.id.textView2);
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.getContext().startActivity(new Intent(v.getContext(), AllUsersActivity.class));
}
});
}
}
public saveContactAdapter(ArrayList<SaveContact> contactList) {
this.contactList = contactList;
}
//Context context;
// LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//View view =inflater.inflate(R.layout.contact_item,null);
@NonNull
@Override
public ExampleViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View v = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.contact_item,viewGroup,false);
ExampleViewHolder evh = new ExampleViewHolder(v);
return evh;
}
@Override
public void onBindViewHolder(@NonNull final saveContactAdapter.ExampleViewHolder contactViewHolder, final int i) {
final SaveContact currentItem = contactList.get(i);
contactViewHolder.mTextView1.setText(currentItem.getmText1());
contactViewHolder.mTextView2.setText(currentItem.getmText2());
}
@Override
public int getItemCount() {
return contactList.size();
}
当我刷卡视图时,如何从 Firebase 中删除这些信息?
解决方案
使用它并将“”替换为您的值。
FirebaseDatabase.getInstance().getReference("").child("").removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
if (!cu.getPfp().equals("Default")) {
FirebaseStorage.getInstance().getReference().child(cu.getUid() + ".jpg").delete().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//Success
} else{
// Error
}
}
});
推荐阅读
- java - 如何在 android studio 中添加一个简单的 DELETE 实现?似乎不可能
- python - 如何在 Python 中设置 ** 参数
- geojson - 从mapbox gl中的geojson获取图标url
- html - Web Scraping IE NAVIGATE 方法 Works Vs MSXML2.XMLHTTP60 不工作
- r - 如何使用 R 在列表列中选择 data.frame 的一个值?
- reactjs - 如何使用 useState 从数组中的数据设置状态?
- html - 直接在 ngFor Angular 中重复两个元素
- mysql - 围绕子查询别名的括号,语法从 5.6 更改?
- express - 在快速服务器中提取 - 未定义提取
- python - Pygame没有暂停更新屏幕