android - Recyclerview 打开中间项目而不是从顶部

标签 android android-recyclerview

这是我调用回收器 View 的 fragment :

public class sgpa_frag extends Fragment {
    //View view;
    RecyclerView recyclerview;
    adapter_sgpa ac;


    ArrayList<POJO> sgpaArrayList;

    public sgpa_frag() {
        // Required empty public constructor
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

    }

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_sgpa_frag, container, false);
        recyclerview= (RecyclerView) view.findViewById(R.id.rc1);
        sgpaArrayList= new ArrayList<>();
        ac= new adapter_sgpa(sgpaArrayList);
        recyclerview.setLayoutManager(new LinearLayoutManager(getContext(),RecyclerView.VERTICAL,true));
        recyclerview.setAdapter(ac);

        Fetchdata1();

        return view;
    }

    private void Fetchdata1()
    {
        dbmanager db= new dbmanager(getContext());

        Cursor cursor= db.fetch_data1();

        if (cursor!= null){

           // cursor.moveToFirst();

            while (cursor.moveToNext()){

                POJO pj= new POJO();
                pj.setSname(cursor.getString(0));
                pj.setSemester(cursor.getString(1));
                pj.setSgpa(cursor.getString(2));
                pj.setPercent(cursor.getString(3));
                pj.setSchemes(cursor.getString(4));
                sgpaArrayList.add(pj);
            }

            ac= new adapter_sgpa(sgpaArrayList);

        }


    }

}

这是我的 xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".drawernav.bottom_navi.recycler_view.sgpa_frag">

    <!-- TODO: Update blank fragment layout -->

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rc1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingBottom="60dp">
    </androidx.recyclerview.widget.RecyclerView>

</FrameLayout>

我希望我的 Recycler View 从顶部项目而不是中间项目开始显示。谁能告诉我应该对我的代码进行哪些更改?提前致谢。

我的意思是说,它是这样的:

enter image description here

我希望它是这样的:

enter image description here

最佳答案

您应该将 recyclerview 的布局宽度和高度设置为 match_parent

您的问题的真正原因可能是您的线性布局管理器的 reverseLayout。这具有向下滚动 recyclerview 的效果。

改用这个: new LinearLayoutManager(getContext(),RecyclerView.VERTICAL,false)

关于android - Recyclerview 打开中间项目而不是从顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60734796/

相关文章:

java - 不同类型的列表作为参数

android - RecyclerView : get position and switch to activity

android - 如何在 RecyclerView 中显示确切的项目数量?

android - no concrypt_openjdk_jni in java.library.path 错误如何解决?

java - 保存游戏(Android 应用程序)

android - Xamarin 执行 logcat 命令并将结果读取到字符串

java - RecyclerView 搜索过滤器不起作用

android - 为什么 iframe 在 Android 4.0+ ICS 的 webview 中工作?

android fragment 操作栏菜单

android - 拦截RecyclerView在NestedScrollView中向下滑动