【问题标题】:when the spinner is clicked, it says " Showing 2 items" while displaying dropdown view. How to override this talkback for spinner?单击微调器时,它会在显示下拉视图时显示“显示 2 个项目”。如何为微调器覆盖此对讲?
【发布时间】:2016-04-29 23:40:39
【问题描述】:

当我实现 Spinner 来创建下拉视图时,第一个元素总是显示在主视图和下拉列表中。 所以我通过覆盖 getDropdrownView() 来隐藏它。 但是在对讲中出现问题。

问题是:当我点击微调器时,它会打开下拉视图并显示“显示 2 个项目”,即使那里存在 1 个项目。我想通过提供 onclickListener 将读出的文本覆盖为“显示 1 个项目”。但是 spinner 不支持点击事件。

我尝试了 ontouchListener、onkeyListener,但没有任何东西可以覆盖文本“显示 2 个项目”。 setContentDescription 也不起作用。 我尝试了以下方法,但也没有用:

AccessibilityEvent talkBackEvent = AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_CLICKED);
talkBackEvent.getText().add("showing 1 item");
mSelectSpinner.onInitializeAccessibilityEvent(talkBackEvent);
mSelectSpinner.sendAccessibilityEventUnchecked(talkBackEvent);
mSelectSpinner.onPopulateAccessibilityEvent(talkBackEvent);

请帮帮我..我们发现的关于对讲的论坛讨论非常少。

【问题讨论】:

  • 听起来你的微调器实际上显示了两个项目,但是?覆盖此语音是不准确的。
  • 是的..你是对的...我在微调器中有两个项目..但我将第一个项目的可见性设置为 GONE。是否可以删除微调器中的第一个项目?我认为在那种情况下微调器会正常工作......
  • 这是 ListView 项目计数报告中的一个错误——它没有考虑视图可见性。您可以从您的应用程序中从技术上解决此问题,但它可能会干扰 TalkBack 的列表遍历,并且当 ListView 中的错误在未来版本中得到修复时,它会再次中断。你能在code.google.com/p/android/issues/list 提交错误吗?

标签: android accessibility talkback accessibilityservice


【解决方案1】:

此问题已在后续版本的 android 中得到解决。

【讨论】:

  • 虽然这在理论上可以回答问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。
猜你喜欢
  • 2017-05-27
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多