当前位置: 首页 > 知识库问答 >
问题:

如何避免Android对讲读取SwitchCompat TextOn/TextOff

越昊穹
2023-03-14

我有一个SwitchCompat,其中包含我通过SwitchCompat.setText()设置的文本。
在我的例子中,这个文本只有“开”或“关”。

问题是Android TalkBack随后会读取例如“On ON ON,Switch,双击...”。
此外,setShowText(false)也无济于事。

共有2个答案

公冶翰池
2023-03-14

我认为你应该使用.setContentDescription()来代替。

这是主要用于辅助功能支持的方法。您可以在此处阅读其留档:

https://developer.android.com/reference/android/view/View.html#setContentDescription(java.lang.CharSequence)

此外,根据可访问性指南,您不应该删除提供的可操作文本,即“打开双击...”

希望这有帮助!

封景曜
2023-03-14

解决方案是使用:

mToggle.setTextOff("");
mToggle.setTextOn("");

然后只有您通过setText()设置的文本被读取。不知道这种奇怪的行为是错误还是按设计工作,但对我来说似乎不太对劲。

 类似资料:
  • 我正在开发一个以活动和片段为结构的简单应用程序,其中一个要求是使其可访问,因此我完成了所有内容描述、导航、焦点等。 它工作得很好,除了片段,如果有一个活动加载一个片段,对讲读取它的内容,然后用户点击一些东西,一个细节片段可以被添加到堆栈的顶部。 如果用户继续导航对讲,仍然记得丢失片段的每个元素的位置。 有没有办法清除事件的辅助功能列表并强制它再次获取它?可访问性管理器似乎没有任何方法。 - 编辑

  • 问题内容: 我有3个基于Acivity的应用程序,它的工作流程是 和。当onResume事件触发时,需要调用MainActivity。无需参加其他两项活动。 onResume事件触发时有什么方法可以调用? 谢谢 问题答案: 您可以在AndroidManifest.xml文件中为MainActivity 设置属性。请参阅此处以查找原因和更多详细信息。我认为这是满足您需求的最便捷方法。 编辑: 我刚刚

  • 我有以下实体: 我尝试过创建@OneToOne(FetchType.lazy),但不起作用,它仍然提取不需要的信息。 如何避免获取复合对象? 我希望最终结果不包含Address对象,因为它在20个场景中需要一次,我可以分别获取它们。 任何想法,如何实现这一点。 谢谢

  • 问题内容: 我正在尝试通过从客户端向服务器发送密钥和随机数来认证用户。 我的代码未向我显示客户端的响应。执行下面的代码时,我得到了一个空指针异常。 问题答案: 解决大多数问题的固定步骤: 阅读堆栈跟踪以确定哪一行代码引发NPE 在该行代码处设置一个断点 使用调试器,在遇到断点时,确定该行中的对象引用是 弄清楚为什么引用该文件(到目前为止,这是唯一实际的困难部分) 解决根本原因(也可能很困难)

  • 问题内容: 我有两个简单的Java代码。第一个将恒定功率定义为power = a.pow(b); 第二个将恒定功率定义为power = BigInteger.ONE.shiftLeft(b) 在命令行中设置内存标志- Xmx1024m,第一个代码可以正常工作,但是第二个代码却出现错误:java.lang.OutOfMemoryError:Java堆空间 我的问题:我应该在第二个代码中更改什么以避免

  • 问题内容: 我有一个用于将文本添加到现有.doc文件中的代码,它将通过使用apache POI将其另存为另一个名称。 以下是到目前为止我尝试过的代码 以下是我得到的 我已经添加了与此对应的所有jar文件,但仍然找不到解决方案。我对apache poi是陌生的,所以请帮我提供一些解释和示例。谢谢 问题答案: 从我对问题的评论中复制: 看起来您需要Apache POI发行版中的poi-ooxml-sc