Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在StaggedGridLayoutManager中平滑滚动_Java_Android_Android Recyclerview - Fatal编程技术网

Java 在StaggedGridLayoutManager中平滑滚动

Java 在StaggedGridLayoutManager中平滑滚动,java,android,android-recyclerview,Java,Android,Android Recyclerview,我找到了如何在stackoverflow上的Recycler视图中进行平滑滚动的答案,其中最常见的答案是setNestedScrollingEnabled(false)。但我使用的是StaggedGridLayoutManager,我面临着同样的问题,即滚动不平稳,它冻结在某个位置。在我的情况下,将嵌套滚动设置为false没有帮助。我已经看完了答案,但和我的问题不符 在我的主要活动的onCreate方法中 StaggeredGridLayoutManager layoutMana

我找到了如何在stackoverflow上的Recycler视图中进行平滑滚动的答案,其中最常见的答案是
setNestedScrollingEnabled(false)
。但我使用的是StaggedGridLayoutManager,我面临着同样的问题,即滚动不平稳,它冻结在某个位置。在我的情况下,将嵌套滚动设置为false没有帮助。我已经看完了答案,但和我的问题不符

在我的主要活动的onCreate方法中

        StaggeredGridLayoutManager layoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
        layoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS);
        recyclerView.setLayoutManager(layoutManager);
        noteAdapter = new NoteAdapter(myList,this);
        recyclerView.setAdapter(noteAdapter);
我的NoteAdapter类

public class NoteAdapter extends RecyclerView.Adapter<NoteAdapter.myAdapter> {

    private List<Note> list;
    private final NotesListeners notesListeners;
    
    public NoteAdapter(List<Note> liste, NotesListeners notesListeners) {
        this.list = liste;
        this.notesListeners = notesListeners;
    }

    @NonNull
    @Override
    public NoteAdapter.myAdapter onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.item_container_note,parent,
                        false);
        return new myAdapter(view);
    }

    @Override
    public void onBindViewHolder(@NonNull NoteAdapter.myAdapter holder, int position) {
        holder.bind(list.get(position));
        holder.layoutContainer.setOnClickListener(view -> notesListeners.onNoteClicked(list.get(position),position));
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    public static class myAdapter extends RecyclerView.ViewHolder {

        TextView textTitle, textSubtitle, textDate;
        LinearLayout layoutContainer;
        RoundedImageView noteImage;

        public myAdapter(@NonNull View itemView) {
            super(itemView);

            //find View By ids here

        }

        public void bind(Note note)
        {
           //Binding few objects
        }


公共类NoteAdapter扩展了RecyclerView.Adapter{ 私人名单; 私人最终票据保管人票据保管人; 公共记事本适配器(列表列表、记事本、记事本){ this.list=liste; this.notesListeners=notesListeners; } @非空 @凌驾 public NoteAdapter.myAdapter onCreateViewHolder(@NonNull ViewGroup父级,int viewType){ View=LayoutInflater.from(parent.getContext()) .充气(右布局、物品、容器、注意事项、上级、, 假); 返回新的myAdapter(视图); } @凌驾 public void onBindViewHolder(@NonNull NoteAdapter.myAdapter holder,int位置){ 持有者绑定(列表获取(位置)); holder.layoutContainer.setOnClickListener(视图->notesListeners.onNoteClicked(list.get(position),position)); } @凌驾 public int getItemCount(){ 返回list.size(); } @凌驾 public int getItemViewType(int位置){ 返回位置; } 公共静态类myAdapter扩展了RecyclerView.ViewHolder{ TextView textTitle、textSubtitle、textDate; 线性布局布局容器; RoundedImageView注释图像; 公共myAdapter(@NonNull View itemView){ 超级(项目视图); //在此处按ID查找视图 } 公共无效绑定(注) { //绑定少数对象 } 看看这个:


你能添加一个视频吗?这样我们才能更好地理解。@ahmadbajwa你现在可以看一看。我已经添加了GIF我知道你的问题,但是你上面的代码很好。添加你的带有适配器的主类。这样我们就可以看到你问题的细节。@ahmadbajwa我已经再次更新了它,请看一看我不知道是什么迫使应用程序这样做的,因为我们上面的代码很好用。可能是你的xml导致了这个延迟。你能添加一个视频吗?这样我们才能更好地理解。@ahmadbajwa你现在可以看一看。我已经添加了GIF我知道你的问题,但是你上面的代码很好。添加你的带有适配器的主类。这样我们就可以看到你问题的细节。@ahmadbajwa我已经更新了再说一遍,请看一看,我不知道是什么迫使应用程序这么做的,因为你上面的代码很好用。可能是你的xml导致了这种延迟。