gpt4 book ai didi

android - 中断当前的 TalkBack 读出并开始新的读出?

转载 作者:搜寻专家 更新时间:2023-11-01 08:31:36 24 4
gpt4 key购买 nike

我有一个可重新排序的 RecyclerView,每次您将一个项目移动到另一个项目的下方或上方时,TalkBack 都会读出:

"Moved ItemTitle above item 2".

问题是它将所有这些读数排队并全部执行。所以如果你把一个项目从位置 12 快速移动到位置 1,它会说:

"Moved ItemTitle above item 12. Moved ItemTitle above item 11. Moved ItemTitle above item 10. Moved ItemTitle above item 9..."

我如何让它停止当前的读出、清空队列并只读最近的公告?

这是每次将 RecyclerView 项目拖到另一个项目上方或下方时触发的方法。

@Override
public boolean onItemMove(int fromPosition, int toPosition) {

String direction = fromPosition < toPosition ? "below" : "above";
String title1 = viewModel.get(fromPosition).getItemTitle();
String title2 = viewModel.get(toPosition)).getItemTitle();

// these announcements are queued
view.announceForAccessibility(view.getContext().getString(R.string.on_move_draggable_item_announce, title1, direction, title2));

return true;
}

最佳答案

这样做:

((AccessibilityManager) view.getContext().getSystemService(Context.ACCESSIBILITY_SERVICE)).interrupt();

在你这样宣布之前:

view.announceForAccessibility(announcementMessage);

关于android - 中断当前的 TalkBack 读出并开始新的读出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40175081/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com