首页 > Java > java教程 > 为什么我的 FirebaseListAdapter 不显示 Firebase-UI 3.1 中的单个项目?

为什么我的 FirebaseListAdapter 不显示 Firebase-UI 3.1 中的单个项目?

Susan Sarandon
发布: 2024-12-26 02:35:09
原创
850 人浏览过

Why Doesn't My FirebaseListAdapter Display Individual Items in Firebase-UI 3.1?

FirebaseListAdapter 无法在 Firebase-Ui 3.1 中显示单个项目

Firebase-Ui 3.1 对其 API 进行了一些更改,特别是对于 FirebaseListAdapter 。用于构造列表适配器的原始代码不再有效,导致 ListView 无数据显示。

要解决此问题,需要更新代码以符合新要求:

FirebaseListOptions<ChatMessage> options = new FirebaseListOptions.Builder<ChatMessage>()
        .setQuery(FirebaseDatabase.getInstance().getReference("Lobbies").child(leaderID).child("Messages"), ChatMessage.class).setLayout(R.layout.message).build();

adapter = new FirebaseListAdapter<ChatMessage>(options) {
    @Override
    protected void populateView(View v, ChatMessage model, int position) {
        // Get references to the views of message.xml
        TextView messageText = v.findViewById(R.id.message_text);
        TextView messageUser = v.findViewById(R.id.message_user);
        TextView messageTime = v.findViewById(R.id.message_time);

        // Set their text
        messageText.setText(model.getMessageText());
        messageUser.setText(model.getMessageUser());

        // Format the date before showing it
        messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",
                model.getMessageTime()));
    }
};
登录后复制

此外,启动和停止监听数据库中的变化以显示数据并避免内存泄漏是至关重要的。这可以通过添加以下方法来实现:

@Override
protected void onStart() {
    super.onStart();
    adapter.startListening();
}


@Override
protected void onStop() {
    super.onStop();
    adapter.stopListening();
}
登录后复制

以上是为什么我的 FirebaseListAdapter 不显示 Firebase-UI 3.1 中的单个项目?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板