我正在制作一个应用程序,但在recyclerview中显示项目时遇到问题。我在FirebaseRecyclerAdapter中显示具有以下配置的项目,
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<postsGetInfo, postsGetInfoViewHolder>(postsGetInfo.class, R.layout.posts_layout,postsGetInfoViewHolder.class,OrderByVotes) {
我遇到的问题是数据库参考
OrderByVotes = feedRef.child(current_user_id).orderByChild("displayvotes");
如您所见,我正在按票数对recyclerview中的每个项目进行排序。问题是,当用户对某个项目进行投票时,它将缩放至顶部,因为我已将其设置为按displayvotes排序。我希望它首先按投票顺序显示项目,然后在用户投票支持该帖子时使其停留在同一位置而不会四处移动。
要澄清:
我希望这些项目按票数过滤并相应显示。
然后我要删除过滤器orderByChild("displayvotes");
我曾尝试在OrderByVotes
中更改OnPopulateViewHolder
,但不起作用。如果有人可以指出正确的方向,那就太好了,谢谢!
答案 0 :(得分:0)
对于阅读此问题的任何人,我都找到了解决方案。它不是完美的,但可以。首先,我制作了feedRef的副本,并按displayvotes的顺序使用了该副本,同时每次每次投票赞成或反对时仍更新feedRef。我在克隆数据库引用中显示了投票,这使我可以在不移动项目的情况下进行投票,但仍会相应地显示投票。