【问题标题】:Android Switch Button Get TextAndroid 切换按钮获取文本
【发布时间】:2014-12-24 00:19:40
【问题描述】:

这个问题很简单......有没有办法在代码中从 android 开关按钮中获取文本?不,我的意思不是检查是否检查了开关控件,然后只是拉动 textOn/textOff 文本。原因是,当用户将控件拖到开/关位置时,我需要拉出文本。我需要一种方法来拉取当前显示的内容,因为我将在未选中时对拖动状态更改进行操作。我已经尝试过 mySwitch.getText(),但它是空的。任何帮助表示赞赏。或者,如果您有一个解决方案来确定用户何时将开关一直拖到打开位置或关闭位置。同样,不要使用 onchecked 侦听器,因为这仅在用户从开关控件中抬起手指后才会触发。就在拖动开关的时候。谢谢。

【问题讨论】:

  • 真的吗?我陈述了我需要的东西。如果您有更好的选择,请告诉我。你们不需要对这个问题投反对票。

标签: java android button uiswitch


【解决方案1】:

使用getTextOn()getTextOff() 获取文本。也就是说,我不明白你为什么需要这些以及为什么不能使用OnCheckedChangedListener——Switch 没有“拖动”状态,它是打开或关闭的二进制状态。这基本上是一个花哨的CheckBox

【讨论】:

  • 对于我的应用程序,我需要用户能够将开关从关闭位置拖到打开位置并在我开始另一个任务之前将其保持一段时间。我不能让用户只切换开关,因为它要求用户按住开关按钮,否则它会跳回来(这是我遵循的规范)。我查看了 SeekBar,因为它会提供那种控制,但 UI 不存在。我需要切换 UI 和 SeekBar 后端功能。
  • 那么Switch 不是正确的组件。所有 CompoundButton 子类基本上都以相同的方式工作:它们要么被选中,要么被取消选中(或者在 Switch 的情况下打开或关闭)。 SeekBar 也可能不适合您,至少在您没有扩展的情况下并非如此,因为SeekBar 旨在允许用户在一个范围内选择一些离散值/位置。如果您确实需要用户用手指按住某物一段时间(为什么?),您最好制作一个自定义视图并学习如何进行必要的触摸处理。
  • 好的。是的,我只是按照规范(由客户制定)。我是 Android 世界的新手,这无济于事。也许我可以拉出 Switch 控件并对其进行修改,使其仅包含我需要的回调。您认为将来使用有什么问题吗?我在考虑拉出 Switch.java 代码,修改和添加回调,然后使用它。
  • 大部分逻辑都在私有方法中。您将无法通过简单地扩展类在这些地方添加回调。
  • 对,我刚刚看到...我想我会扩展 Switch 类的所有功能,然后覆盖我将扩展的方法。我知道我可以访问私有方法并将它们移植到我的应用程序中,这听起来似乎很简单的事情需要做很多工作。
猜你喜欢
  • 2015-06-02
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 2012-01-30
  • 2019-02-03
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
相关资源
最近更新 更多