gpt4 book ai didi

Android 和 CommaTokenizer

转载 作者:太空狗 更新时间:2023-10-29 16:24:26 25 4
gpt4 key购买 nike

我需要一个 Tokenizer(用于 AutoCompleteTextview),它可以执行以下操作:

  1. 当两个单词被空格分隔时,必须这样识别
  2. 当用换行符(按“Enter”键)分隔时,也必须识别两个词

1) 有效,但我怎样才能完成 2?

public class SpaceTokenizer implements 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) == ' ' || text.charAt(i) == '\n')) {
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) == ' ' || text.charAt(i) == '\n') {
return i;
} else {
i++;
}
}
return len;
}

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

while (i > 0 && (text.charAt(i - 1) == ' ' || text.charAt(i - 1) == '\n')) {
i--;
}
if (i > 0 && (text.charAt(i - 1) == ' ' || text.charAt(i - 1) == '\n')) {
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) == ' ' || text.charAt(i) == '\n'i-1 在适当的地方。

关于Android 和 CommaTokenizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5811336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com