android - 它会删除该值,但在删除该值后,总数会增加一倍,并且必须从活动中退出以刷新删除后的金额
问题描述
请帮帮我:程序会删除该值,但不是删除它而是加倍,然后我必须退出活动以在取消后刷新正确的数量。
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Sales");
sum = 0;
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
list = new ArrayList<SaleClass>();
for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()) {
SaleClass p = (SaleClass) dataSnapshot1.getValue(SaleClass.class);
list.add(p);
sum += p.amount;
}
adapter = new SalesAdapter(Sales.this, list);
adapter.notifyDataSetChanged();
recyclerView.setAdapter(adapter);
ttv.setText(("Total Sale: " + sum));
dialog.dismiss();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(Sales.this, "Opsss.... Something is wrong " + databaseError.toString(), Toast.LENGTH_SHORT).show();
}
});
上面的代码是显示值和
适配器:
@Override
public boolean onLongClick(View view)
{
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("Are you sure you want to DELETE?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
return true;
}
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
//Toast.makeText(context, getAdapterPosition()+" is clicked "+Sales.get(getAdapterPosition()).getId(), Toast.LENGTH_SHORT).show();
DatabaseReference reference= FirebaseDatabase.getInstance().getReference("Sales").child(Sales.get(getAdapterPosition()).getId());
reference.removeValue();
notifyDataSetChanged();
break;
case DialogInterface.BUTTON_NEGATIVE:
Toast.makeText(context,"Cancelled",Toast.LENGTH_SHORT).show();
break;
}
}
};
}
这是用于删除数据并将其发送到主要活动
解决方案
推荐阅读
- mysql - MySQL对于给定键的所有出现的一列中的值的相对排名
- ios - 使 UITextView 高度动态,约束乘数问题
- keras - 在 Keras 2.2.2 fit_generator 中将 batch_size 从“str”转换为“int”时出错
- javafx - 具有最小高度的 Javafx Titlepane
- node.js - 错误:EACCES:权限被拒绝,打开 .audit.json
- c# - 将对象转换为与 IEnumerable 集合相同的类型
- arrays - Does Swift offer any built-in function to return the result of appending to an immutable array?
- sql-server - Creating a labeled column based on matches in SQL Server
- python - Generate one hot encodings from dict values
- hosting - 如何解决 Plesk 错误:内部错误:filemng 失败