Несколько разделителей для MultiAutoCompleteTextView? - PullRequest
0 голосов
/ 30 марта 2011

Я использую MultiAutoCompleteTextView, который показывает предложения для пользовательского ввода.Он работает только тогда, когда элементы разделены одним или несколькими пробелами, но не работает, когда новая строка (т. Е. Нажата кнопка «ввод») является разделителем.

Код до сих пор (думаю, я получилэто из stackoverflow некоторое время назад):

открытый класс SpaceTokenizer реализует Tokenizer {

@Override
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;
}

@Override
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;
}

@Override
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 + " ";
        }
    }
}

}

Я пытался реализовать что-то вроде "... || text.charAt (i) == '\ n' ... ", где я думал, что это уместно, но это не сработало.

Так что я был бы очень благодарен за предложения!

1 Ответ

0 голосов
/ 04 июня 2011

Ответ на мой вопрос можно найти здесь: Android и CommaTokenizer

...