import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import androidx.recyclerview.widget.RecyclerView
import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseError
import com.google.firebase.database.FirebaseDatabase
import com.google.firebase.database.ValueEventListener
import com.squareup.picasso.Picasso
import com.xwray.groupie.GroupAdapter
import com.xwray.groupie.Item
import com.xwray.groupie.ViewHolder
import kotlinx.android.synthetic.main.new_msg_layout.*
import kotlinx.android.synthetic.main.user_row_new_msg.view.*
class NewMsgActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.new_msg_layout)
supportActionBar!!.title= "Contacts"
fetchUser()
}
fun fetchUser(){
val ref =FirebaseDatabase.getInstance().getReference("/Users")
ref.addListenerForSingleValueEvent(object: ValueEventListener{
override fun onCancelled(p0: DatabaseError) {
}
override fun onDataChange(p0: DataSnapshot) {
val adaptor = GroupAdapter<ViewHolder>()
p0.children.forEach{
Log.d("mainn", it.toString())
val user = it.getValue(User::class.java)
if(user!= null){
adaptor.add(UserItem(user))
}
}
recycleV_newMsg.adapter= adaptor
}
} )
}
}
class UserItem(val user:User) : Item<ViewHolder>(){
override fun bind(viewHolder: ViewHolder, position: Int) {
viewHolder.itemView.username_textView_new.text=user.username
Picasso.get().load(user.Dp_url).into(viewHolder.itemView.DP_imageView_new)
}
override fun getLayout(): Int {
return R.layout.user_row_new_msg
}
}
Please Help. i have tried everything but im still getting --> E/RecyclerView: No layout manager attached; skipping layout. Im using Groupie RecyclerView . Please help as im new to kotlin . i dont know much. Everything works fine. The data is not displayed.
But error messages are being logged: