无法按升序检索数据 [英] Cannot retrieve data in ascending order

查看:39
本文介绍了无法按升序检索数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想按升序检索数据,但是接收到的数据以某种降序添加到了recyclerview中.

I want to retrieve data in ascending order, but received data somehow added to recyclerview in descending order.

Firebase数据库:

Firebase Database:

我在做什么:

    DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("/Teacher");

    Query query = mDatabase.orderByChild("rating");

    FirebaseRecyclerOptions<Teacher> options =
            new FirebaseRecyclerOptions.Builder<Teacher>()
                    .setQuery(query, Teacher.class)
                    .build();

    FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Teacher, TeacherViewHolder>(options) {
        @NonNull
        @Override
        public TeacherViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
            View view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.teacher_list_item, parent, false);

            return new TeacherViewHolder(view);

        }

        @Override
        protected void onBindViewHolder(@NonNull final TeacherViewHolder holder, int position, @NonNull final Teacher model) {

           // some stuff here

        }
    };

推荐答案

由于您无法使用RTDB进行本地处理,因此您可能需要执行以下操作:

Since you can't do that natively with the RTDB, you'll probably want to do something like this:

LinearLayoutManager layoutManager = new LinearLayoutManager(context);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);

有关更多详细信息,请参见 https://stackoverflow.com/a/27727398/4548500 .

See https://stackoverflow.com/a/27727398/4548500 for more details.

这篇关于无法按升序检索数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆