首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firebase告警

firebase告警
EN

Stack Overflow用户
提问于 2016-04-12 16:57:47
回答 2查看 1.1K关注 0票数 0

我已经创建了一个警报系统,供照顾者使用,为老人设置警报。在此闹钟中,如何获取已设置为顶部的最新闹钟,而不是每次都出现在底部

代码语言:javascript
复制
mListAdapter = new FirebaseListAdapter<notify>(this, notify.class, android.R.layout.two_line_list_item, mRoot) {
        @Override
        protected void populateView(View view, notify notify, int i) {
            ((TextView)view.findViewById(android.R.id.text1)).setText(notify.getCourse() + "Quantity:" + notify.getQuantity() +"," + notify.getRepeat());
            ((TextView)view.findViewById(android.R.id.text2)).setText("Medication set to " +notify.getDate() + " at " + notify.getTime());
        }
    }; listView.setAdapter(mListAdapter);
EN

回答 2

Stack Overflow用户

发布于 2016-04-12 21:48:45

请注意,默认情况下,会按键的升序检索子对象。如果在您的示例中,密钥是由Firebase自动生成的(例如,使用push()函数),则它们的值基于时间戳,并且稍后生成的密钥大于之前生成的任何密钥。因此,您创建的最后一个警报会出现在列表的底部。

为了颠倒这个顺序,您可以为每个子对象在其名为created_timestamp的属性下存储值0 - timestamp,其中timestamp是创建对象时的时间戳。然后,您可以使用函数orderBy('created timestamp')来检索具有预期顺序的子项。

票数 1
EN

Stack Overflow用户

发布于 2016-04-12 21:46:10

反转数据不是FirebaseListAdapter要解决的问题。相反,您可以在数据库查询(mRoot)或Android视图中解决它。whole book worth of questions on reversing a query在过去已经回答过了,所以我将重点放在这里颠倒视图中的项。

由于您使用的是ListView

代码语言:javascript
复制
listView.setStackFromBottom(true);

对于RecyclerView,等效项为:

代码语言:javascript
复制
manager.setStackFromEnd(true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36568298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档