Android 电视dpad焦点中的水平循环视图在快速滚动上循环

Android 电视dpad焦点中的水平循环视图在快速滚动上循环,android,android-recyclerview,focus,android-tv,d-pad,Android,Android Recyclerview,Focus,Android Tv,D Pad,我在我的电视项目中使用了一个水平的recyclerview。我正在为recyclerview项目设置可聚焦。因此,使用d pad我可以移动。当我正常按键时,一切正常。但是当我尝试在焦点到达最后一个可见子焦点并移动到第一个项目和循环焦点更改后使用dpad快速滚动时正在发生。我看到了一些解决方法,但对我来说没有任何效果。扩展布局管理器并添加以下代码片段 @Override public View onInterceptFocusSearch(View focused, int direction)

我在我的电视项目中使用了一个水平的recyclerview。我正在为recyclerview项目设置可聚焦。因此,使用d pad我可以移动。当我正常按键时,一切正常。但是当我尝试在焦点到达最后一个可见子焦点并移动到第一个项目和循环焦点更改后使用dpad快速滚动时正在发生。我看到了一些解决方法,但对我来说没有任何效果。

扩展布局管理器并添加以下代码片段

@Override
public View onInterceptFocusSearch(View focused, int direction) {
    if (this.getOrientation() == HORIZONTAL) {
        if (direction == View.FOCUS_RIGHT) {
            View view = getChildAt(getChildCount() - 1);
            if (view == focused) 
                return focused;
        }
    }
    else if(getOrientation() == VERTICAL){
        if (direction == View.FOCUS_DOWN) {
            View view = getChildAt(getChildCount() - 1);
            if (view == focused) 
                return focused;
        }
    }
    return super.onInterceptFocusSearch(focused, direction);
}
基于方向,我正在处理右焦点和下焦点。您可以根据自己的需要进行编辑。

请阅读如何创建并通过编辑将缺少的信息添加到您的帖子:)如果您还没有阅读,我建议您这样做:)我强烈建议您遵循我链接的两个指南,因为上面的人更可能在帖子遵循这些指南时回答问题。我特别缺少的是——到目前为止你都做了些什么?您面临哪些错误/问题?您是否有代码片段显示您迄今为止尝试的内容?