2017-08-09 53 views
3

我试图实施一个ListView,并附上FirebaseListAdapter。我需要显示适配器内的字符串列表,所以我使用String作为通用字段。在火力地堡数据库的结构是这样的:在Kotlin中使用FirebaseListAdapter

enter image description here

我需要显示users节点所提供的密钥(102127 ... 102133 ...等),所以我用这个代码来创建适配器:

val ref = db.getReference(MATCHES_REF).child(match).child(USERS_REF) 
val adapter = object : FirebaseListAdapter<String>(this, String::class.java, R.layout.cell_friends, ref) { 
    override fun populateView(view: View, s: String, i: Int) { 
     val text = view.findViewById(R.id.text_view) as TextView 
     text.text = s 
    } 
} 
listView?.adapter = adapter 

这是Android Studio中所示的错误:

Error:(50, 32) None of the following functions can be called with the arguments supplied: public constructor FirebaseListAdapter(activity: Activity!, parser: ((DataSnapshot!) -> String!)!, @LayoutRes modelLayout: Int, query: Query!) defined in com.firebase.ui.database.FirebaseListAdapter public constructor FirebaseListAdapter(activity: Activity!, parser: SnapshotParser!, @LayoutRes modelLayout: Int, query: Query!) defined in com.firebase.ui.database.FirebaseListAdapter public constructor FirebaseListAdapter(activity: Activity!, modelClass: Class!, @LayoutRes modelLayout: Int, query: Query!) defined in com.firebase.ui.database.FirebaseListAdapter

任何解决方案?

回答

2

已解决,FirebaseListAdaptwer构造函数(this)的第一个参数不是Activity类型。

相关问题