NPE, брошенный в вашу регистрацию, происходит из-за того, что banklist
изменяется в слушателе изменений.
Log.d(
"Data", "banksList2 ${banklist[0].bank_account} " //This is throwing null pointer exception
)
Когда никаких изменений не было сделано или внутри слушателя итератор dataSnapshot.children
пуст - banklist
остается пустым. Поэтому, когда вы вызываете list [index] , он вернет null
, так как ничего не было найдено, и бросит NPE, потому что вы звоните .bank_account
на null
.
return banklist //this is null
Я почти уверен, что banklist
в конце вашего метода равно , а не null. Эта часть просто никогда не достигается, потому что код прежде выдает исключение.