使用预加载的设置短语+新文本创建Android视图

时间:2012-04-04 11:33:19

标签: android user-interface textview tokenize

我正在尝试构建一个Android输入控件,允许用户通过将不同的设置短语用螺栓连接来构建一段文本,然后对其进行编辑。例如,以下设定短语可能是预先定义的:

  • 继续行驶里程
  • 查找
  • 开始挖宝藏
  • 挖掘地下一米

构建一个有意义的段落需要不止一个短语。此外,一旦输入,短语本身将需要是可编辑的:例如,在第一组短语中,必须在“继续”和“英里”之间插入数字。这是一个段落的例子,可以想象在这些短语的帮助下构建:

  

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

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

  1. 我尝试向EditText添加一个上下文菜单,由长按启动。上下文菜单的条目各自对应于设定短语。不幸的是,内置的Android长按菜单接管了(剪切/复制/粘贴选项),因此无法看到我的上下文菜单。

  2. 我尝试使用带有MultiAutoCompleteTextView的{​​{1}},从资源文件加载短语。这似乎很有希望,但它在每个短语后强制使用逗号。此外,编辑变得非常不友好 - 退格逗号会删除整个插入的短语。我想构建一个全新的Tokenizer是一种可能性,但是我没有看到我实际可以使用什么标记,也没有看到在触发退格时如何防止删除整个标记。

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

  4. 有没有人建议我接下来要尝试什么?

    感谢。

1 个答案:

答案 0 :(得分:0)

我通过继承MultiAutoCompleteTextView并覆盖replaceText()方法而不是“标记为已替换”输入的短语来解决此问题。工作正常。