Android e CommaTokenizer

Ho bisogno di un Tokenizer (per l'AutoCompleteTextview) che può fare quanto segue:

  1. Due parole devono essere riconosciute come tali quando separate da un carattere vuoto
  2. Due parole devono anche essere riconosciute come tali quando sono separate da una nuova linea ("Invio" premuto)

1) sta lavorando, ma come posso realizzare 2?

  • Utilizzo di Android Studio con Java 1.7
  • Come select una voce in AlertDialog con una selezione singola android?
  • Come gestire i clic degli elementi per una visualizzazione del riciclatore utilizzando RxJava
  • Android WebView: methods di attività di chiamata formano l'interface JavaScript
  • Come evitare la chiusura di db e l'exception del cursore
  • Come passare i valori a AsyncTask Android
  • 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 + " "; } } } } 

  • Mappe Android utils cluster icon color
  • quando viene chiamata onRestoreInstanceState?
  • Come trovare la posizione assoluta del clic durante lo zoom
  • Visualizzazione e navigazione di grandi mappe personalizzate in linea utilizzando Phonegap
  • Come faccio a convertire un corpo di risposta riuscito in un tipo specifico utilizzando retrofit?
  • Impostare la width di SeekBar per effettuare "scorrimento per sbloccare" l'effetto
  • 2 Solutions collect form web for “Android e CommaTokenizer”

    Dovresti essere in grado di farlo: text.charAt(i) == ' ' || text.charAt(i) == '\n' text.charAt(i) == ' ' || text.charAt(i) == '\n' o i-1 se del caso.

    Ecco l'integer codice per chiunque sia interessato, wherevo implementarlo anche nella mia app. Grazie alla risposta da @Haphazard .

     @Override public int findTokenStart(CharSequence text, int cursor) { int i = cursor; while (i > 0 && (text.charAt(i - 1) != ' ' && text.charAt(i - 1) != '\n')) { 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 + " "; } } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.