提问者:小点点

Java Android-访问addValueEventListener外部的变量


我想知道如何访问MDatabase.AddValueEventListener之外的变量total_amount

    //This is inside onCreateView
    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            totalAmount=0;

            for (DataSnapshot mySnapshot : dataSnapshot.getChildren()){
                Transaction transaction = mySnapshot.getValue(Transaction.class);
                totalAmount += transaction.getAmount();
            }
            String total_amount = String.valueOf(totalAmount);
            totalAmount.setText(total_amount);
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });

    TextView.setText(total_amount)

我找不到合适的解决办法。 请帮我处理这个。


共1个答案

匿名用户

全局声明total_amount。 请更改您的代码,如下所示:

 String total_amount = ""
 mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            totalAmount=0;

            for (DataSnapshot mySnapshot : dataSnapshot.getChildren()){
                Transaction transaction = mySnapshot.getValue(Transaction.class);
                totalAmount += transaction.getAmount();
            }
            total_amount = String.valueOf(totalAmount);
            totalAmount.setText(total_amount);
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
        }
    });

    TextView.setText(total_amount)

相关问题