2016-07-24 68 views
1

我想通过'RecyclerView'显示设备中的歌曲列表。列表中的每个项目都包含一些儿童项目,例如歌曲名称专辑封面等等。当回收站视图设置为仅显示歌曲名称和'NO ALBUM ART'等细节时,由于滚动平滑并且滚动到最后很容易但是当我在列表中显示每首歌曲的专辑封面时,就会出现问题。问题是,当我用一次长卷滚动歌曲到最后一个项目时(因为列表非常小,所以我们可以用一个卷轴滚动到最后一个项目),循环器视图显示我将动画直到列表中的最后一个项目当滚动动画停止时,回收站视图最后显示最后三个列表项,并且我再滚动一次以获取屏幕上的最后列表项。我使用的毕加索库,以显示专辑封面和我对这些代码行获取专辑封面“URI”:为什么Recycler View回滚到最后三个项目?

Uri ART_CONTENT_URI = Uri.parse("content://media/external/audio/albumart"); 
Uri albumArtUri = ContentUris.withAppendedId(ART_CONTENT_URI,thisAlbumId); 

我设置适配器回收看法是这样的:

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(); 

我希望你能很好地理解它。寻找像我做错事或忘记某些事情的错误。

这是我的错误日志:

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 

回答

0

的问题是有其附于回收观点,所以我已经改变了逻辑并得到了我的错误删除ArrayAdapter的值的变化。