是否可以使用适配器中的setValue()函数设置实时数据库值?
我正在尝试使用setValue()函数设置实时数据库的值。我不知道它是否有效,但是我看到许多在模型中使用了SetValue()函数,但他们从未使用过。但是我正在尝试在我的代码中实施。
这是我的适配器代码: -
class PostsAdapter(
private var mContext: Context,
private var mPosts: List<PostsModel>,
private var isFragmnet: Boolean = false
) : RecyclerView.Adapter<PostsAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view =
LayoutInflater.from(mContext).inflate(R.layout.rv_posts_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val post = mPosts[position]
val statusAvailable = post.getStatus()
if (statusAvailable == "Inactive") {
holder.status.text = mContext.resources.getString(R.string.activate)
holder.activate.setOnClickListener {
post.setStatus("Active")
}
}else {
holder.status.text = mContext.resources.getString(R.string.deactivate)
holder.activate.setOnClickListener {
post.setStatus("Inactive")
}
}
}
override fun getItemCount(): Int {
return mPosts.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
var imageUrl: ImageView? = itemView.postsImage
var status: TextView = itemView.changeStatus
var activate: CardView = itemView.activateBtn
}
}
这是我的模型代码: -
class PostsModel {
private var imageURL: String = ""
private var status: String = ""
constructor()
constructor(
imageURL: String,
status: String
){
this.imageURL = imageURL
this.status = status
}
fun getImageURL(): String {
return imageURL
}
fun getStatus(): String {
return status
}
fun setStatus(status: String) {
this.status = status
}
}
我不确定它是否确实有效。我知道可以通过更新孩子来使用hashmap进行操作,但是我想知道这个setValue()函数是否真的有效。
I am trying to set the value of the realtime database using setValue() function. I don't know it works or not, but I have seen many using setValue() function in the model but they never used it. But I am trying to implement in my code.
here is my adapter code:-
class PostsAdapter(
private var mContext: Context,
private var mPosts: List<PostsModel>,
private var isFragmnet: Boolean = false
) : RecyclerView.Adapter<PostsAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view =
LayoutInflater.from(mContext).inflate(R.layout.rv_posts_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val post = mPosts[position]
val statusAvailable = post.getStatus()
if (statusAvailable == "Inactive") {
holder.status.text = mContext.resources.getString(R.string.activate)
holder.activate.setOnClickListener {
post.setStatus("Active")
}
}else {
holder.status.text = mContext.resources.getString(R.string.deactivate)
holder.activate.setOnClickListener {
post.setStatus("Inactive")
}
}
}
override fun getItemCount(): Int {
return mPosts.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView){
var imageUrl: ImageView? = itemView.postsImage
var status: TextView = itemView.changeStatus
var activate: CardView = itemView.activateBtn
}
}
here is my model code:-
class PostsModel {
private var imageURL: String = ""
private var status: String = ""
constructor()
constructor(
imageURL: String,
status: String
){
this.imageURL = imageURL
this.status = status
}
fun getImageURL(): String {
return imageURL
}
fun getStatus(): String {
return status
}
fun setStatus(status: String) {
this.status = status
}
}
I am not sure whether it really works or not. I know it is possible to do using HashMap by updating children but I want to know whether this setValue() function really works or not.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论