【发布时间】:2017-06-22 10:26:31
【问题描述】:
我想根据帖子的时间戳对帖子进行排序。帖子包含标题和描述。我正在使用 firebase 检索数据。但是视图中没有显示任何内容。视图为空白。有什么我做错了吗?
public class AlertsActivity extends AppCompatActivity {
public static class BlogViewHolder extends RecyclerView.ViewHolder {
View mview;
public BlogViewHolder(View itemView) {
super(itemView);
mview = itemView;
}
public void setTitle(String title) {
TextView post_title = (TextView)mview.findViewById(R.id.blog_title);
post_title.setText(title);
}
public void setDesp(String desp) {
TextView post_desp = (TextView) mview.findViewById(R.id.blog_desp);
post_desp.setText(desp);
}
public void setTimestampCreated(HashMap<String, Object> timestamp) {
TextView show_ts = (TextView) mview.findViewById(blog_timestamp);
show_ts.setText(String.valueOf(timestamp));
}
}
适配器:
mDatabase = FirebaseDatabase.getInstance().getReference().child("Blog");
mDatabase.keepSynced(true);
mDatabase.orderByChild("timestamp");
FirebaseRecyclerAdapter<Blog, BlogViewHolder> firebaseRecyclerAdapter = new
FirebaseRecyclerAdapter<Blog, BlogViewHolder>(
Blog.class,
R.layout.blog_row,
BlogViewHolder.class, mDatabase) {
@Override
protected void populateViewHolder(final BlogViewHolder viewHolder, final Blog model, int position) {
mDatabase.child("Blog").orderByChild("timestamp").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String alerts = dataSnapshot.getValue(String.class);
HashMap<String, Object> time = (HashMap<String, Object>) dataSnapshot.getValue();
viewHolder.setTitle(alerts);
viewHolder.setDesp(alerts);
viewHolder.setTimestampCreated(time);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
};
mbloglist.setAdapter(firebaseRecyclerAdapter);
}
【问题讨论】:
-
有什么我做错了吗? 问题是:有什么你做对了吗 ...你在里面创建适配器从未使用过的异步任务的onProgressUpdate,您的代码未格式化,并且cleary不完整
-
@Selvin 我正在使用异步任务,以便显示进度条。是的,我只展示了需要的重要部分。这不是完整的代码
-
我只展示了需要的重要部分并且没有意义
-
@Selvin 现在有意义吗?
-
@MadhuBanerjee:你在
populateViewHolder中附加了一个监听器。虽然这可能是必要的,但它并不常见,并且会导致许多潜在的边缘情况。你能显示你试图显示的 JSON 的 sn-p 吗?您可以通过单击 Firebase Database console 中的“导出 JSON”链接来获取此信息。
标签: android firebase firebase-realtime-database