Android 为什么';t下一个焦点与对讲导航一起工作?

Android 为什么';t下一个焦点与对讲导航一起工作?,android,android-layout,talkback,Android,Android Layout,Talkback,我有四个文本视图,当用户使用对讲和触摸手势导航时,我试图控制它们获得焦点的顺序 TextView android:text="foo" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/id_foo" android:nextFocusDown="@+id/id_baz"/> TextView android:text="bar"

我有四个文本视图,当用户使用对讲和触摸手势导航时,我试图控制它们获得焦点的顺序

TextView android:text="foo" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/id_foo" android:nextFocusDown="@+id/id_baz"/>

TextView android:text="bar" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@+id/id_bar" android:nextFocusDown="@+id/id_qux"/>

TextView android:text="baz" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@id/id_baz" android:nextFocusDown="@id/id_bar"/>

TextView android:text="qux" android:clickable="false" android:focusable="true" android:focusableInTouchMode="true" android:id="@id/id_qux" android:nextFocusDown="@id/id_foo"/>

当用户打开对讲,触摸“foo”,然后向下滑动在文本视图之间导航时,我希望命令转到foo->baz->bar->qux。但是,我尝试使用nextFocusDown设置的顺序似乎没有效果,相反,焦点顺序总是跟随屏幕上文本视图的位置。我尝试了点击、可聚焦和可聚焦的所有可能组合到触摸模式中。我已尝试在代码中的视图上调用setNextFocusDownId。我尝试在TextView上设置android:imeOptions=“actionNext”。似乎什么都不管用。我遗漏了什么?

NextFocusDown并不是指对讲手势。它是指跟踪球和键盘箭头键导航。对讲探索手势仅限于向下/向右滑动下一个焦点,向上/向左滑动上一个焦点。当然,拖动鼠标进行浏览。

尝试使用和配置对讲导航。请注意,对讲只有两个方向:

  • 向前(向右或向下滑动)
  • 后退(向左或向上滑动)
例如:

findView(R.id.bar).setAccessibilityTraversalBefore(R.id.quix);

但是有没有办法设定下一个和上一个焦点?我相信你想要的是下一个焦点。前向聚焦和后向聚焦是反射性的。因此,如果将“nextForwardFocus”设置为元素,则该元素的nextFocusBackward将自动设置。例如:element1.setNextForwardFocusId(element2.id)会自动将element2的nextBackwardFocus设置为element1。我也遇到了同样的问题。需要帮助。这些API从API 22开始提供:'-(