Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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 为什么“回收者视图”会滚动回最后三项?_Java_Android_Scroll_Android Recyclerview - Fatal编程技术网

Java 为什么“回收者视图”会滚动回最后三项?

Java 为什么“回收者视图”会滚动回最后三项?,java,android,scroll,android-recyclerview,Java,Android,Scroll,Android Recyclerview,我想通过“RecyclerView”显示设备中的歌曲列表。列表中的每个项目都包含一些子项目,如歌曲名称、唱片集艺术等。当“回收器”视图设置为仅显示歌曲名称和“无唱片集艺术”等细节时,由于滚动平滑且滚动持续时间短,因此工作正常,但当我显示列表中每首歌曲的唱片集艺术时,问题就会出现。问题是当我用一次长的滚动将歌曲滚动到最后一项时(因为列表非常小,所以我们可以用一次滚动滚动到最后一项)循环器视图显示我滚动动画,直到列表中的最后一个项目滚动动画停止时循环器视图显示最后三个列表项目为最后一个,我需要再滚动

我想通过“RecyclerView”显示设备中的歌曲列表。列表中的每个项目都包含一些子项目,如歌曲名称、唱片集艺术等。当“回收器”视图设置为仅显示歌曲名称和“无唱片集艺术”等细节时,由于滚动平滑且滚动持续时间短,因此工作正常,但当我显示列表中每首歌曲的唱片集艺术时,问题就会出现。问题是当我用一次长的滚动将歌曲滚动到最后一项时(因为列表非常小,所以我们可以用一次滚动滚动到最后一项)循环器视图显示我滚动动画,直到列表中的最后一个项目滚动动画停止时循环器视图显示最后三个列表项目为最后一个,我需要再滚动一次才能在屏幕上获取最后一个列表项目。我正在使用毕加索图书馆展示相册艺术,并通过以下代码行获取相册艺术“Uri”:

Uri ART_CONTENT_URI = Uri.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(ART_CONTENT_URI,thisAlbumId);
我将适配器设置为recycler视图,如下所示:

new Thread(new Runnable()
        {
        @Override
        public void run()
            {
            MusicService.songList = new ArrayList<>();
            getSongList();
            runOnUiThread(new Runnable()
                {
                @Override
                public void run()
                    {
                    recyclerView=(RecyclerView) findViewById(R.id.song_list_recycler_view);
                    recyclerView.setLayoutManager(new LinearLayoutManager(MainActivity.this));
                    recyclerView.setItemAnimator(new DefaultItemAnimator());
                    recyclerViewAdapter = new RecyclerViewAdapter(MainActivity.this);
                    recyclerView.setAdapter(recyclerViewAdapter);
                    recyclerView.setHasFixedSize(true);
                    }
                });
            }
        }).start();

问题是连接到回收器视图的ArrayAdapter的值发生了更改,因此我更改了逻辑并删除了错误。

问题是连接到回收器视图的ArrayAdapter的值发生了更改,因此我更改了逻辑并删除了错误

07-24 23:55:43.698 6069-6069/com.sayings.developer.music E/ExtMediaPlayer-JNI: QCMediaPlayer could not be located....
07-24 23:55:43.698 6069-6069/com.sayings.developer.music E/MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
07-24 23:55:43.698 6069-6069/com.sayings.developer.music E/ExtMediaPlayer-JNI: QCMediaPlayer could not be located....
07-24 23:55:43.699 6069-6069/com.sayings.developer.music E/MediaPlayer-JNI: JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
07-25 00:02:04.123 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:05.273 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:05.415 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:05.488 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:06.242 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:07.087 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:23.624 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout
07-25 00:02:25.452 6069-6069/com.sayings.developer.music E/RecyclerView: No adapter attached; skipping layout