下面列出了android.widget.MultiAutoCompleteTextView#setThreshold ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Sets tags autcomplete.
*/
private void setTagsAutocomplete(MultiAutoCompleteTextView tags, ArrayList<String> items) {
tags.setThreshold(1);
tags.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
tags.setAdapter(new ArrayAdapter<>(context, R.layout.popup_item, items));
}
private void setUpTable(final int id, final int startWordNum) {
int wordNum = startWordNum;
final TableLayout table = UI.find(this, id);
for (int y = 0; y < table.getChildCount(); ++y) {
final TableRow row = (TableRow) table.getChildAt(y);
for (int x = 0; x < row.getChildCount() / 2; ++x) {
((TextView) row.getChildAt(x * 2)).setText(String.valueOf(wordNum));
MultiAutoCompleteTextView me = (MultiAutoCompleteTextView) row.getChildAt(x * 2 + 1);
me.setAdapter(mWordsAdapter);
me.setThreshold(3);
me.setTokenizer(mTokenizer);
me.setOnEditorActionListener(this);
me.setOnKeyListener(this);
me.addTextChangedListener(new UI.TextWatcher() {
@Override
public void afterTextChanged(final Editable s) {
super.afterTextChanged(s);
final String original = s.toString();
final String trimmed = original.trim();
if (!trimmed.isEmpty() && !trimmed.equals(original)) {
me.setText(trimmed);
return;
}
final boolean isInvalid = markInvalidWord(s);
if (!isInvalid && (s.length() > 3)) {
if (!enableLogin())
nextFocus();
}
enableLogin();
}
});
me.setOnFocusChangeListener((View v, boolean hasFocus) -> {
if (!hasFocus && v instanceof EditText) {
final Editable e = ((EditText)v).getEditableText();
final String word = e.toString();
if (!MnemonicHelper.mWords.contains(word)) {
e.setSpan(new StrikethroughSpan(), 0, word.length(), 0);
}
}
});
registerForContextMenu(me);
mWordEditTexts[wordNum - 1] = me;
++wordNum;
}
}
}