val adapter = FirebaseRecyclerAdapter<Discount, Holder>(
Discount::class.java,
R.layout.fragment_main_day_item,
Holder::class.java,
FirebaseDatabase.getInstance().getReference()
) {
override fun populateViewHolder(holder: Holder, dis: Discount, pos: Int){
}
}
docs are here
How can I handle this using Kotlin
EDIT
val mAdapter = object : FirebaseRecyclerAdapter<Chat, ChatHolder>(
Chat::class.java,
R.layout.fragment_main_day_item,
ChatHolder::class.java,
ref) {
public override fun populateViewHolder(holder: ChatHolder, chat: Chat, position: Int) {
}
}
I converted java to kotlin and it works.
After upgrading to FirebaseUI 3.0, Firebase Realtime Database can be used as follows with Kotlin
val options = FirebaseRecyclerOptions.Builder<Chat>()
.setQuery(chatQuery,Chat::class.java)
.setLifecycleOwner(this)
.build()
val adapter = object : FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChatHolder {
return ChatHolder(LayoutInflater.from(parent.context)
.inflate(R.layout.row_chat, parent, false))
}
protected override fun onBindViewHolder(holder: ChatHolder, position: Int, model: Chat) {
holder.bind(model)
}
override fun onDataChanged() {
// If there are no chat messages, show a view that invites the user to add a message.
mEmptyListMessage.setVisibility(if (itemCount == 0) View.VISIBLE else View.GONE)
}
}