【问题标题】:Do not go back to top RecyclerView Firestore不要返回顶部 RecyclerView Firestore
【发布时间】:2017-12-11 01:19:57
【问题描述】:

我有一个包含 RecyclerView、CardView 和适配器的简单代码。然后我从 Firestore 中检索数据。

问题:

例如,我有一个发布供稿。在这个提要中,我有一个按钮可以进入另一个屏幕。

在第二个屏幕中,我用作返回方法:完成。

但问题是提要很大,从第二个屏幕返回到第一个屏幕,RecyclerView 回到开头。

当我返回包含提要的活动时,有什么方法无法在顶部启动 RecyclerView?

示例图片:

1 - 单击以查看喜欢帖子的用户的第一个屏幕。 (这个屏幕是一个片段。)

2 - 点赞帖子的用户列表屏幕。

3 - 第一个屏幕,但在您返回之后。此屏幕始终返回顶部。

谢谢!!

编辑:

Fragment中的代码适配器+recyclerview:

/* Recycler */
        mCardFeedList = (RecyclerView) view.findViewById(id.cardFeedUser_list);
        mCardFeedList.setHasFixedSize(true);
        mCardFeedList.setItemViewCacheSize(20);
        mCardFeedList.setDrawingCacheEnabled(true);


        mAdapter = new PostsAdapter(mQueryNew, this){

            @Override
            protected void onDataChanged() {

                if (getItemCount() == 0) {
                    mCardFeedList.setVisibility(View.GONE);
                    //mTxtVazio.setVisibility(View.VISIBLE);

                } else {
                    mCardFeedList.setVisibility(View.VISIBLE);
                    //mTxtVazio.setVisibility(View.GONE);
                }


            }
        };

        mCardFeedList.setLayoutManager(new LinearLayoutManager(getActivity().getApplication()));
        mCardFeedList.setAdapter(mAdapter);

【问题讨论】:

    标签: android android-recyclerview google-cloud-firestore


    【解决方案1】:

    要解决这个问题,您需要从RecyclerView.Adapter 重写以下方法:

    onBindVIewHolder(viewholder, position)
    

    由RecyclerView调用,在指定位置显示数据。

    因此您可以使用它将您拥有的数据绑定到此视图并在视图上设置正确的视图状态。

    【讨论】:

    • 在片段中替换?我怎么能那样做? @AlexMamo
    • 不替换,覆盖该方法。
    • 是的。我怎么能在片段中做到这一点?你会帮我吗?
    • 我编辑了这个问题。我添加了我称之为回收的代码。你能检查一下吗? @AlexMamo
    • 看看here
    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 2015-03-03
    • 1970-01-01
    • 2019-10-21
    相关资源
    最近更新 更多