我在 Android 4.4.2 (KitKat) 设备上运行我的应用程序。我的应用程序有一个 ListView。当我将最后一项添加到列表视图时,它会显示一些内容,大约 5 秒后,它会发生变化(将不同的视图加载到该特定列表项)。
TalkBack 开启时 -
如果在那 5 秒的窗口中,我单击最后一项 - TalkBack 会标记它、读取它,并且不会让视图发生变化。
我在以前的 Android 版本上没有这个问题。
有谁知道为什么会这样?如果我可以覆盖这种行为?
谢谢!
铅
我在 Android 4.4.2 (KitKat) 设备上运行我的应用程序。我的应用程序有一个 ListView。当我将最后一项添加到列表视图时,它会显示一些内容,大约 5 秒后,它会发生变化(将不同的视图加载到该特定列表项)。
TalkBack 开启时 -
如果在那 5 秒的窗口中,我单击最后一项 - TalkBack 会标记它、读取它,并且不会让视图发生变化。
我在以前的 Android 版本上没有这个问题。
有谁知道为什么会这样?如果我可以覆盖这种行为?
谢谢!
铅
我没有找到直接的解决方案。我通过覆盖可访问性默认行为解决了这个问题。我删除了视图周围的标记,只保留了阅读部分。
这是我使用的代码:
view.setAccessibilityDelegate(new AccessibilityDelegate() {
@Override
public boolean performAccessibilityAction(View host, int action, Bundle args) {
//call super to perform the action
boolean ret = super.performAccessibilityAction(host, action, args);
//call super with remove-focus action to remove the mark around the view
super.performAccessibilityAction(host, AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS, args);
return ret;
}
});