2015-09-30 102 views
1

我試圖檢查RecyclerView中是否有某些特定項目可見;但我無法實現。請幫助我確定我的物品在RecyclerView中是否完全可見。檢查項目是否在RecyclerView中完全可見

mrecylerView.addOnScrollListener(new RecyclerView.OnScrollListener() { 
    @Override 
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
     super.onScrolled(recyclerView, dx, dy); 
     LinearLayout ll = (LinearLayout) recyclerView.findChildViewUnder(dx, dy); 
     if (ll != null) { 
      TextureVideoView tvv = (TextureVideoView) ll.findViewById(R.id.cropTextureView); 
     } 
    } 
}); 

我要檢查,如果tvv觀點是mrecyclerView視圖中完全可見。

+0

請人幫助我。 – Alireza

回答

5

你可以讓使用佈局管理API來獲取持續的RecyclerView onScrolled方法完全可見項目位置的一些邏輯:

((LinearLayoutManager) vYourRecycler.getLayoutManager()).findLastCompletelyVisibleItemPosition(); 

從文檔: 返回最後一個完全可見視圖的適配器位置。此位置不包括在上次佈局傳遞後分派的適配器更改。

嘗試使用它並通知RecyclerView適配器刷新。

注:我不知道爲什麼你在onScrolled方法使用findViewById,這項工作應該在RecyclerView ViewHolder實施績效

+2

findLastCompletelyVisibleItemPosition();給我最後附加的項目,無論是否可見。 – Tasneem

相關問題