如何在使用“MultiAutoCompleteTextView”时用空格替换逗号?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我正在做一个简单的程序MultiAutoCompleteTextView程序,当我输入几个字母时,提示普通单词。

代码:

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
            this,
            android.R.layout.simple_dropdown_item_1line, 
            ary);
    MultiAutoCompleteTextView textView = (MultiAutoCompleteTextView) findViewById(R.id.editText);
    textView.setAdapter(adapter);

    textView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

    private String[] ary = new String[] {
       "abc",
       "abcd",
       "abcde",
       "abcdef",
       "abcdefg",
       "hij",
       "hijk",
       "hijkl",
       "hijklm",
       "hijklmn",
    };

但是当我输入“a”选择“ABCD”但结果变成了“ABCD,”。如何用空格替换逗号?

谢谢

提问于
用户回答回答于
public class SpaceTokenizer implements Tokenizer {

public int findTokenStart(CharSequence text, int cursor) {
int i = cursor;

while (i > 0 && text.charAt(i - 1) != ' ') {
    i--;
}
while (i < cursor && text.charAt(i) == ' ') {
    i++;
}

return i;
}

public int findTokenEnd(CharSequence text, int cursor) {
int i = cursor;
int len = text.length();

while (i < len) {
    if (text.charAt(i) == ' ') {
        return i;
    } else {
        i++;
    }
}

return len;
}

public CharSequence terminateToken(CharSequence text) {
int i = text.length();

while (i > 0 && text.charAt(i - 1) == ' ') {
    i--;
}

if (i > 0 && text.charAt(i - 1) == ' ') {
    return text;
} else {
    if (text instanceof Spanned) {
        SpannableString sp = new SpannableString(text + " ");
        TextUtils.copySpansFrom((Spanned) text, 0, text.length(),
                Object.class, sp, 0);
        return sp;
    } else {
        return text + " ";
    }
}
}
}

热门问答

腾讯云广州一区DNS变更,需要怎么操作?

思潮澎湃轻描淡写的生活,但思潮澎湃
推荐
我也收到相关的通知了,这里分享下~ 2019年1月31日,腾讯云将对广州地区旧的基础网络DNS服务器(10.225.30.181、10.225.30.223)进行下线。在此期间,腾讯云提供最新的DNS服务器供您更新使用。 我们建议您尽快将DNS服务器配置进行更新,并且我们为您提供...... 展开详请

人脸融合API Image 参数Base64数据有没有长度限制?

推荐

不支持,GET仅支持32KB以内的请求。但是您可以使用POST方法发送同样的请求,签名方式v1支持1MB的POST请求,签名方式v3支持10MB的POST请求

如何分析云测大师测试之后的结果参数?

Hyman Wang

腾讯云 · 高级产品经理 (已认证)

负责腾讯云游戏行业产品规划及发展。关注游戏行业生态,致力于腾讯内部游戏生态和技术能力开放,以及周边游戏生态资源整合。
推荐

请参考在线文档 : https://cloud.tencent.com/document/product/653/13636

Git上面如何将之前设置为public的项目修改为private?

SQL GM热爱数据库的小工匠
推荐
可以修改的,步骤如下: 1、进入项目主页,点击设置 image.png 2、点击高级设置、仓库设置、更改可见性级别 image.png 3、点击修改为私有即可 image.png ... 展开详请

上传的视屏会被压缩吗?

西风

renzha.net · 站长 (已认证)

www.renzha.net
推荐

会的,上传的视频会进行转码,所谓视频转码(Video Transcoding),是指将一个视频码流转换成另一个视频码流,以适应不同的网络带宽、不同的终端处理能力和不同的用户需求。

请问TCPlayer ios全屏播放,如何自动横屏全屏?

西风

renzha.net · 站长 (已认证)

www.renzha.net
推荐
通过 video 属性 “x5-video-orientation” 声明 TBS 播放器支持的方向,可选值:0(landscape 横屏),1:(portraint竖屏),2:(landscape | portrait 跟随手机自动旋转)。 (该属性为 TBS 内核实验性属性,...... 展开详请

所属标签

扫码关注云+社区