【发布时间】:2020-08-16 15:04:55
【问题描述】:
我正在尝试通过 FirebaseRecyclerAdapter 将数据从 Firebase 获取到我的 RecyclerView,但它总是将列表项设置为类的初始值
我正在使用数据绑定将类设置为变量 person。
适配器类:
class RecyclerAdapterAllUser(options: FirebaseRecyclerOptions<PersonalInfo>) :
FirebaseRecyclerAdapter<PersonalInfo, RecyclerAdapterAllUser.Holder>(options) {
private lateinit var binding: ListItemAllUserRecyclerBinding
class Holder(val binding: ListItemAllUserRecyclerBinding) :
RecyclerView.ViewHolder(binding.root)
override fun onBindViewHolder(holder: Holder, position: Int, model: PersonalInfo) {
binding.person = model
}
}
类
class PersonalInfo() {
var name: String =""
var nickName: String = ""
private var age = 0
constructor(name: String, nickName: String, age: Int) : this() {
this.name = name
this.age = age
this.nickName = nickName
}
}
活动
class AllUsers : AppCompatActivity() {
private lateinit var binding: ActivityAllUsresBinding
private lateinit var adapter: RecyclerAdapterAllUser
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = DataBindingUtil.setContentView(this, R.layout.activity_all_usres)
binding.listItemAllUsersActivity.hasFixedSize()
binding.listItemAllUsersActivity.layoutManager = LinearLayoutManager(this)
val options = FirebaseRecyclerOptions.Builder<PersonalInfo>()
.setQuery(
FirebaseDatabase.getInstance().getReference("users"),
PersonalInfo::class.java
)
.build()
adapter = RecyclerAdapterAllUser(options)
binding.listItemAllUsersActivity.adapter = adapter
}
override fun onStart() {
super.onStart()
adapter.startListening()
}
override fun onStop() {
super.onStop()
adapter.stopListening()
}
}
firebase 数据库
chat-app-3ce78
users
8tS5NqyvQUaLpo7oVbhCbhDnud82
LogIn
PersonalInfo
age:18
name: "mohamed"
nickName: "komy"
fTppKQYGMxbBPkMoM7A2aMwch332
【问题讨论】:
-
有什么问题?
-
我没有从 Firebase 获得日期,我总是得到 name ="",nickname="",age=0
-
请将您的数据库结构添加为 JSON 文件或至少是屏幕截图。
-
我无法上传照片我试图写入数据库,因为它在 firebase 中无论如何我从数据库中检索数据并将其传递给自定义 recyclerView 适配器并且工作正常,但 firebase recyclerView 没有t 返回任何数据
-
我需要看到你真正的数据库,因为我认为
FirebaseDatabase.getInstance().getReference("users")是造成问题的原因。
标签: android firebase kotlin firebase-realtime-database