MultiAutoCompleteTextView标记定义

时间:2014-09-02 20:32:53

标签: java android multiautocompletetextview

我有MultiAutoCompleteTextView绑定到TextWatcher和一个适配器,它根据字段中输入的内容从数据库中返回内容。这一切都正常,但我正在寻找一种方法来改变默认的令牌定义行为,所以当用户点击一个令牌中的某个地方并添加一个字符时,整个令牌被认为是查询输入,而不是从最左边的标记到光标的文本。

这是一个更具体的例子:

  1. 我的数据如下:a,b,aa,ab,aab,abb,aba,bb
  2. 我输入了以下代币:aa,bb
  3. 我将光标放在两个a(即a | a)
  4. 之间
  5. 我输入了字母' b'
  6. 我得到以下建议:ab
  7. 我期待一个建议:aba
  8. 我希望我解释得那么好。我做了一个小样本项目,没有花哨的东西,只有默认值和一个简单的String数组,我有相同的行为,这似乎与文档定义与游标位置相关的标记的方式一致。 / p>

    那么,是否有一种可靠的方法来包含以我的示例中描述的其他方式返回的建议?甚至我们的SO标签系统都是这样的。

1 个答案:

答案 0 :(得分:1)

您需要使用MultiAutoCompleteTextView功能在setTokenizer()上设置自定义MultiAutoCompleteTextView.Tokenizer。覆盖findTokenStartfindTokenEnd函数,以确保它抓取正在修改的整个文本。