SnapHelper,Recycler查看当前位置

时间:2019-01-25 16:16:36

标签: android android-recyclerview recyclerview-layout pagersnaphelper

我想在几次滚动后在我的应用程序中实施插页式admob广告(比如说在2次滚动后将显示广告)

滚动所指的是我正在使用recyclerView和SnapHelper在列表中显示项目并逐一滚动。要查看是否已滚动两次Item,请检查当前Item索引是否可被2整除。参见下面的代码

snappingRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
            View view = snapHelper.findSnapView(layoutManager);
            pos = layoutManager.getPosition(view);
            Log.d("AdsDebug", "onScrollStateChanged: " + pos);
            if (pos == 2) {
                Toast.makeText(QuoteDetails.this, "" + pos, Toast.LENGTH_SHORT).show();
                showInterstitial();
            }
            toolbarTitle.setText(quoteModels.get(pos).getCatName());
            if (quoteModels.get(pos).getIsFav().equals("true")) {
                isFav.setImageResource(R.drawable.like_filled);
            } else {
                isFav.setImageResource(R.drawable.quote_favourite);
            }
        }
    });

每次到达显示广告的位置时,当我尝试滚动到下一个项目时,就会出现问题,该位置仍然是2,不会更新。

任何人都可以解决该问题,或者至少建议另一种方法吗?就像每滚动五个项目之后,我要展示一次广告。

0 个答案:

没有答案