Android 在ArrayList中添加值
各位,我有一个小问题,就是这里的Toast打印每个值的总和,代码必须只显示最后一个值 然后,它将在ArrayList中添加现有值的两倍 祝酒词:Android 在ArrayList中添加值,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,各位,我有一个小问题,就是这里的Toast打印每个值的总和,代码必须只显示最后一个值 然后,它将在ArrayList中添加现有值的两倍 祝酒词: Toast.makeText(BudgetList.this,“Totaltransaction:+sum,Toast.LENGTH_LONG).show(); 守则: FloatingActionButton fabtotal = (FloatingActionButton) findViewById(R.id.fabtotalbudg);
Toast.makeText(BudgetList.this,“Totaltransaction:+sum,Toast.LENGTH_LONG).show();
守则:
FloatingActionButton fabtotal = (FloatingActionButton) findViewById(R.id.fabtotalbudg);
fabtotal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick( View view1) {
final Dialog dialog = new Dialog(context);
dialog.setTitle("Budget details");
final View view = getLayoutInflater().inflate(R.layout.custom_dialog, null);
final ListView budlist2 = (ListView) view.findViewById(R.id.sublistView); //ListView to view the items from the database
arrylist2 = new ArrayList<String>();
arrayList3 = new ArrayList<String>();
adapter2 = new ArrayAdapter<String>(BudgetList.this, android.R.layout.simple_list_item_1,arrylist2);
adapter3 = new ArrayAdapter<String>(BudgetList.this, android.R.layout.simple_list_item_1,arrayList3);
budlist2.setAdapter(adapter3);
rootRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(final DataSnapshot dataSnapshot, String s) {
arrylist2.clear();
String value = dataSnapshot.child("budValue").getValue(String.class);
String budnameValue = dataSnapshot.child("budgname").getValue(String.class);
arrylist2.add(value);
arrayList3.add("Budget:"+budnameValue+"-Value: "+value);
dialog.setContentView(view);
dialog.setCancelable(true);
dialog.show();
adapter2.notifyDataSetChanged();
adapter3.notifyDataSetChanged();
if (arrylist2.size() >0)
{
for (int i = 0; i < arrylist2.size(); i++) { //iterate over the elements of the list
sum += Double.parseDouble(arrylist2.get(i));
}
}
else {
Toast.makeText(BudgetList.this, "No data", Toast.LENGTH_LONG).show();
}
Toast.makeText(BudgetList.this, "Total transaction:"+sum,Toast.LENGTH_LONG).show();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
});
FloatingActionButton fabtotal=(FloatingActionButton)findViewById(R.id.fabtotalbudg);
fabtotal.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图1){
最终对话框=新对话框(上下文);
对话框.setTitle(“预算明细”);
最终视图=GetLayoutFlater().充气(R.layout.custom_对话框,空);
final ListView budlist2=(ListView)view.findViewById(R.id.sublistView);//ListView以查看数据库中的项目
ArryList 2=新的ArrayList();
ArrayList 3=新的ArrayList();
adapter2=new ArrayAdapter(BudgetList.this,android.R.layout.simple\u list\u item\u 1,ArryList 2);
adapter3=new ArrayAdapter(BudgetList.this,android.R.layout.simple\u list\u item\u 1,arrayList3);
budlist2.设置适配器(适配器3);
rootRef.addChildEventListener(新的ChildEventListener(){
@凌驾
公共void onchildaded(最终数据快照数据快照,字符串s){
arrylist2.clear();
String value=dataSnapshot.child(“budValue”).getValue(String.class);
String budnameValue=dataSnapshot.child(“budname”).getValue(String.class);
arrylist2.增加(值);
arrayList3.添加(“预算:+budnameValue+”-值:+Value”);
setContentView(视图);
对话框。可设置可取消(true);
dialog.show();
adapter2.notifyDataSetChanged();
adapter3.notifyDataSetChanged();
如果(arrylist2.size()>0)
{
对于(inti=0;i
当我从FloatingAction按钮中取出烤面包时,它只会显示零值
如果可以的话,请帮助我。
谢谢。请解释“从FloatingAction按钮中删除Toast”从Firebase异步加载的数据。如果将toast移到回调之外,则当数据尚未加载时,将显示toast。请参见我对该行为的解释: