android 如何删除特定视图上的默认回复响应

6yoyoihd  于 2022-12-21  发布在  Android
关注(0)|答案(1)|浏览(110)

所以基本上我正在实现我的Android应用程序的对讲功能。有编辑文本视图的用户写有电话号码,然后有一个按钮注册。如果用户没有给出任何电话号码注册按钮被禁用。当按钮被禁用它的对讲应该说“注册按钮被禁用,请输入一个有效的移动的号码。”但由于有默认字符串,其中对讲是说在年底,即:按钮禁用。如何删除一个特定视图的默认字符串。

verifyButton.disable()
verifyButton.contentDescription = requireContext().getString(R.string.sign_up_button_disabled_phone_number_accessibility_label)
8ftvxx2r

8ftvxx2r1#

您可以通过将AccessibilityDelegate附加到视图来实现此目的:

ViewCompat.setAccessibilityDelegate(submitButton, object: AccessibilityDelegateCompat() {
    override fun onInitializeAccessibilityNodeInfo(
        host: View,
        info: AccessibilityNodeInfoCompat
    ) {
          super.onInitializeAccessibilityNodeInfo(host, info)
          if (!submitButton.isEnabled)
              info.stateDescription = getString(R.string.accessibility_button_not_enabled_reason) //"Please enter a phone number"
      }
})

这将在每次视图状态更改时更新,因此您不需要在验证时手动执行此操作。
这将宣布:
“请输入电话号码,[按钮文本],按钮,禁用”
因此,用户仍然会意识到按钮和它的意图,以及为什么它被禁用!

相关问题