Android 在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打印每个值的总和,代码必须只显示最后一个值 然后,它将在ArrayList中添加现有值的两倍

祝酒词:

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。请参见我对该行为的解释: