知道何时第一次显示RecyclerView项目(Android)

知道何时第一次显示RecyclerView项目(Android),android,google-analytics,visible,android-recyclerview,staggeredgridlayout,Android,Google Analytics,Visible,Android Recyclerview,Staggeredgridlayout,我正在尝试使用谷歌分析增强型电子商务在回收服务上发送我的产品的“印象”。每次用户滚动时,我都会检查哪些产品是可见的,并发送点击: public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == AbsListView.OnScrollListener.SCR

我正在尝试使用谷歌分析增强型电子商务在回收服务上发送我的产品的“印象”。每次用户滚动时,我都会检查哪些产品是可见的,并发送点击:

public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);

    if (newState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
        for (int i = firstVisibleItemPosition; i <= lastVisibleItemPosition; i++) {
            Offer offer = mListViewContentFetcher.getApiObjects().get(i);

            Product product = new Product()
                .setId(offer.getCode())
                .setName(offer.getTitle())
                .setCategory(offer.getStore().getName())
                .setPosition(i);

            builder.addImpression(product, "products_list");
        }

        mTracker.setScreenName("Products List");
        mTracker.send(builder.build());
    }
}
CrollStateChanged上的公共无效(RecyclerView RecyclerView,int newState){
super.onScrollStateChanged(recyclerView、newState);
if(newState==AbsListView.OnScrollListener.SCROLL\u STATE\u IDLE){

对于(int i=firstVisibleItemPosition;i你不能使用你的RecyclerView.Adapter和方法来跟踪事物进入/离开视图的时间吗?

它看起来很有希望!文档对描述方法行为没有太大帮助,但我会尝试一下。谢谢我设法使用onViewAttachedToWindow来实现正确的结果,所以我将此设置为接受回答。谢谢,@Buddy。我所做的是在onViewAttachedToWindow上添加印象,如果片段可见(使用)然后在片段暂停时发送分析结果。@petrusgomes很高兴我能提供帮助。@petrusgomes你能分享一下这个实现的一些代码吗?对不起,@DivyeshPatel。我再也无法访问这些代码了。但是如果我没记错的话,我将这些印象保存在地图中,在上面的侦听器被调用时添加或删除。