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

MultiAutoCompleteTextView添加分隔符

android开发中为MultiAutoCompleteTextView控件添加其他分隔符怎么写


正在回答

2 回答

暂时没有的,你按alt加  /   ,你可以看到 系统只提供逗号。。

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;

            }

        }

    }

}


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

举报

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

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

进入课程

MultiAutoCompleteTextView添加分隔符

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