1

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

这是一个更具体的例子:

  1. 我的数据如下:a,b,aa,ab,aab,abb,aba,bb
  2. 我输入了以下标记:aa, bb
  3. 我将光标放在两个 a 之间(即 a|a)
  4. 我输入字母“b”
  5. 我得到以下建议:ab
  6. 我期待一个建议:aba

我希望我解释得足够好。我做了一个小示例项目,没有使用花哨的东西,只有默认值和一个简单的String数组,我有相同的行为,这似乎与文档定义与光标位置相关的标记的方式一致。

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

4

1 回答 1

1

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

于 2014-11-06T17:38:59.927 回答