【发布时间】:2018-05-31 02:12:16
【问题描述】:
从 arraylist 中的 firebase 检索数据后,我的应用显示空白页。 下面是我的代码,运行时没有显示任何错误
class Main4Activity : AppCompatActivity() {
private lateinit var data : ListView
lateinit var arraylst:ArrayList<String>
lateinit var ref :DatabaseReference
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main4)
data =findViewById(R.id.abcd)
arraylst = arrayListOf()
val ref = FirebaseDatabase.getInstance().getReference().child("User")
val adptr = ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arraylst)
data.adapter = adptr
ref.addChildEventListener(object :ChildEventListener{
override fun onCancelled(p0: DatabaseError?) {}
override fun onChildMoved(p0: DataSnapshot?, p1: String?) {}
override fun onChildChanged(p0: DataSnapshot?, p1: String?) {}
override fun onChildAdded(p0: DataSnapshot?, p1: String?) {
if (p0!!.exists()) {
for (h in p0.children) {
adptr.clear()
val rdata = h.getValue(String::class.java)
arraylst.add(rdata!!)
adptr.notifyDataSetChanged()
}
}
}
override fun onChildRemoved(p0: DataSnapshot?) {}
})
应用程序未显示任何错误,但列表视图项为空白
【问题讨论】:
-
通过忽略
onCancelled,您可能会隐藏此代码不起作用的原因。throw databaseError.toException()是一种防止隐藏安全问题的简单方法。
标签: listview firebase arraylist firebase-realtime-database kotlin