У меня есть фрагмент и список массивов. Я пытаюсь добавить значения в этот список массивов внутри функции. Когда я печатаю это внутри функции, это работает. Но, когда я пытаюсь распечатать его за пределами функции, список массивов становится пустым.
Я вижу, что мне здесь не хватает логики c.
Может кто-нибудь помочь мне, где я делаю неправильно?
вот файл фрагмента.
class HourlySalesFragment : Fragment() {
val tt = arrayListOf<Double>()
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,savedInstanceState: Bundle? ): View? {
//some other code here.
val valueEventListener08_30 = object : ValueEventListener {
var subtotalList = arrayListOf<Double>()
override fun onDataChange(p0: DataSnapshot) {
if (p0.exists()) {
for(ds in p0.children) {
println("data snapshot "+ds)
val subtotal = ds.child("subTotal").getValue(Double::class.java)!!
subtotalList.add(subtotal)
textSubTotal8_30.text = subtotalList.sum().toString()
}
tt.add(subtotalList.sum())
println("ttt 8:30 "+tt)
}
}
override fun onCancelled(databaseError: DatabaseError) {
Log.d(TAG, databaseError.getMessage()) //Don't ignore errors!
}
}
println("ttt outside"+tt)
и вот результат, который я получаю.
ttt outside[]
ttt 8:30 [5.0]
Заранее спасибо.