java - Android recyclerview 滚动到顶部

标签 java android

这是我的 onCreate,它处理适配器、LinearLayoutManager 等。 我尝试了每一个选项来尝试将其滚动到顶部但不能。 我什至尝试创建自己的自定义 LinearLayoutManager。

//Reson for static to call from a static method to scroll it up
private static RecyclerView taskRecyclerView;
private FirebaseAdapter firebaseAdapter;
private static LinearLayoutManager linearLayoutManager;

@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    final View view = inflater.inflate(R.layout.fragment_tasklist, container, false);



    linearLayoutManager = new LinearLayoutManager(getActivity());

    taskRecyclerView = (RecyclerView) view.findViewById(R.id.recyclerView_mainTask);
    databaseRef = FirebaseDatabase.getInstance().getReference().child(userAccount.getId());


    firebaseAdapter = new FirebaseAdapter(TaskObject.class, R.layout.one_task, TaskViewHolder.class, databaseRef.child("Task"), getContext());

    linearLayoutManager.setReverseLayout(true);
    linearLayoutManager.setStackFromEnd(true);
    linearLayoutManager.setSmoothScrollbarEnabled(true);


    taskRecyclerView.setAdapter(firebaseAdapter);
    taskRecyclerView.setLayoutManager(linearLayoutManager);
    relativeLayoutAdd.setOnClickListener(this);
    //Listen for any data change
    databaseRef.child("Task").addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            //onDataChange called so remove progress bar

            //make a call to dataSnapshot.hasChildren() and based
            //on returned value show/hide empty view

            //use helper method to add an Observer to RecyclerView

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
    databaseRef.child("Task").keepSynced(true);
    return view;
}

最佳答案

您是否尝试过 taskRecyclerView.getLayoutManager().scrollToPosition(0)taskRecyclerView.scrollToPosition(your_position)

RecyclerView 没有在 taskRecyclerView.scrollToPosition(your_position) 中实现任何滚动逻辑,而 taskRecyclerView.getLayoutManager().scrollToPosition(0) 更具体,它去具体索引取决于实现的布局,在您的情况下是线性的。

关于java - Android recyclerview 滚动到顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655486/

相关文章:

android - 有没有一种方法可以同步运行Okhttps请求?

java - PersistenceUnit 的预部署因 EclipseLink 而失败

java - 旋转列表<字符>并维护字数

java - Selenium WebDriver - Appium - Android 自动化期间出现 NoClassDefFound 错误?

java - 如何在应用程序中的 Activity 之间添加几秒钟的延迟?

android - 为什么相同的颜色在不同的 Android 设备上看起来不同

android - phonegap android 应用程序只显示连接到设备

java - 如何在 selenium webdriver 中为已注册的用户名/email_id 编写脚本

java - 谷歌应用引擎: Concurrent Requests and their Handlers

java - 如何从 fragment 打开 Activity 中的菜单