为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

3 回答

默认逗号分隔符,可以使用下面方法自定义分隔符,以‘;’为例

添加这个SemicolonTokenizer类到项目中,并将macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());改为macTextView.setTokenizer(new SemicolonTokenizer(';'));即可

附录:SemicolonTokenizer类代码

import android.text.SpannableString;

import android.text.Spanned;

import android.text.TextUtils;

import android.widget.MultiAutoCompleteTextView.Tokenizer;


public class SemicolonTokenizer implements Tokenizer {

private char charS;

    private String mSTring;

 

    public SemicolonTokenizer(char charS) {

        this.charS = charS;

        mSTring = String.valueOf(charS);

    }

 

    public int findTokenStart(CharSequence text, int cursor) {

        int i = cursor;

 

        while (i > 0 && text.charAt(i - 1) != charS) {

            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) == charS) {

                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) == charS) {

            return text;

        } else {

            if (text instanceof Spanned) {

                SpannableString sp = new SpannableString(text + mSTring);

                TextUtils.copySpansFrom((Spanned) text, 0, text.length(), Object.class, sp, 0);

                return sp;

            } else {

                return text + mSTring;

            }

        }

    }

}


2016-05-02



1 回复 有任何疑惑可以回复我~

MultiAutoCompleteTextView.CommaTokenizer()  是默认的逗号分隔符方法

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

慕粉3671927

这行代码中哪里是关于分隔的符号的?
2016-08-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312584    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

分隔符问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信