为什么我的TextView为null,尽管我从数据库中获取值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我的TextView为null,尽管我从数据库中获取值?相关的知识,希望对你有一定的参考价值。
我想从数据库中获取我的社交网络应用程序的评论,并在回收者视图上显示它,但评论应该是的文本为空,我不知道为什么。
//数据库参考
PostsRef = FirebaseDatabase.getInstance().getReference().child("Posts").child(Post_Key).child("Comments");
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Comments, CommentsViewHolder> firebaseRecyclerAdapter
= new FirebaseRecyclerAdapter<Comments, CommentsViewHolder>
(
Comments.class,
R.layout.all_comments_layout,
CommentsViewHolder.class,
PostsRef
)
{
@Override
protected void populateViewHolder(CommentsViewHolder viewHolder, Comments model, int position)
{
viewHolder.setUsername(model.getUsername());
viewHolder.setComment(model.getComment());
viewHolder.setDate(model.getDate());
viewHolder.setTime(model.getTime());
}
};
CommentsList.setAdapter(firebaseRecyclerAdapter);
}
//我认为这是问题所在
public static class CommentsViewHolder extends RecyclerView.ViewHolder
{
View mView;
public CommentsViewHolder(@NonNull View itemView)
{
super(itemView);
mView = itemView;
}
public void setUsername(String username)
{
TextView myUserName = (TextView) mView.findViewById(R.id.comment_username);
myUserName.setText("@" + username + " ");
}
public void setComment(String comment)
{
TextView myComment = (TextView) mView.findViewById(R.id.comment_text);
myComment.setText(" :" + comment);
}
public void setDate(String date)
{
TextView myDate = (TextView) mView.findViewById(R.id.comment_date);
myDate.setText(" Date: " + date);
}
public void setTime(String time)
{
TextView myTime = (TextView) mView.findViewById(R.id.comment_time);
myTime.setText(" Time: " + time);
}
}
//这是我的静态课
public class Comments
{
public String comment, date, time, username;
public Comments()
{
}
public Comments(String comment, String date, String time, String username) {
this.comment = comment;
this.date = date;
this.time = time;
this.username = username;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
任何人都有解决方案,或者可以告诉我哪里是我的错误?即时通讯相对较新的java编程所以是啊..
答案
我通过将注释重命名为注释来解决它,因为在数据库中它是注释但我误读了它。
以上是关于为什么我的TextView为null,尽管我从数据库中获取值?的主要内容,如果未能解决你的问题,请参考以下文章
findViewById 返回 null (TextView) [重复]
findViewByID在FirestoreRecyclerAdapter中返回null
在 ADAM 中,如果 admin 设置 pwdLastSet = 0 ,为啥响应控制为 NULL 尽管绑定抛出 NamingException?