0

我正在尝试构建一个 Android 输入控件,它允许用户通过将不同的短语组合在一起并随后对其进行编辑来构建一段文本。例如,以下固定短语可能是预定义的:

  • 继续里程
  • 抬头
  • 开始挖掘宝藏
  • 挖掘地下几米

构建一个有意义的段落需要不止一个短语。此外,短语本身一旦输入,就需要可编辑:例如,在第一个设定短语中,必须在“proceed”和“miles”之间插入一个数字。下面是一个段落示例,可以想象在这些短语的帮助下构建:

向北行驶 42 英里,仰望天空,然后向南行驶 21 英里。开始挖掘宝藏,挖掘地下3米。

到目前为止,我已经尝试了两种主要方法来实现这一点:

  1. 我尝试向 中添加上下文菜单EditText,通过长按打开。上下文菜单的每个条目都对应于一组短语。不幸的是,内置的 Android 长按菜单接管了(剪切/复制/粘贴选项),因此无法看到我的上下文菜单。

  2. 我尝试使用 a MultiAutoCompleteTextViewCommaTokenizer从资源文件中加载短语。这看起来很有希望,但它在每个短语之后强制使用逗号。此外,编辑变得对用户不友好 - 退格逗号会删除整个插入的短语。我想构建一个全新的 Tokenizer 是可能的,但我没有看到我可以实际使用什么令牌,也没有看到在点击退格键时如何防止删除整个令牌。

  3. 我采取了不同的方法并查看了 Android 用户词典,看看我是否可以在其中添加短语。不幸的是,它似乎不接受带有空格的短语。

有人对我接下来可以尝试什么有任何建议吗?

谢谢。

4

1 回答 1

0

我通过子类MultiAutoCompleteTextView化和覆盖replaceText()方法来解决这个问题,以不“标记为已替换”输入的短语。工作正常。

于 2012-06-25T19:36:07.770 回答