使用setSelectedPositionSmooth在Horizo​​ntalGridView中完成动画之前调用OnChildViewHolderSelectedListener

时间:2015-09-02 13:17:44

标签: java android leanback

我在HorizontalGridView包中使用android.support.v17.leanback.widget。问题是OnChildViewHolderSelectedListener过早被调用。

    horizontalGrid.setSelectedPosition(position);
    horizontalGrid.setOnChildViewHolderSelectedListener(new OnChildViewHolderSelectedListener() {
        @Override
        public void onChildViewHolderSelected(RecyclerView parent, RecyclerView.ViewHolder child, int position, int subposition) {
            super.onChildViewHolderSelected(parent, child, position, subposition);
            //the animation isn't complete
            //horizontalGrid.getLayoutManager().isSmoothScrolling() is true;
        }
    });

我所知道的唯一选择是TimerTask使用Timer,并检查horizontalGrid.getLayoutManager().isSmoothScrolling()是否为假。另一个不太可靠的解决方案是使用HandlerpostDelayed方法。在我的情况下,这两种方式都很难看。 我还没有找到任何内置方法。我错过了什么吗?还有更优雅的东西吗?

0 个答案:

没有答案