Я реализую AutoCompleteTextView, как показано ниже, он работает нормально для меня, за исключением раздела, где мне нужно добавить пользовательский ввод, когда элемент не доступен в массиве autosuggestion
// Инициализация
String[] arr = {"SQL", "JavaScript", " Ruby", "Python", "Objective-C", "PHP", "C#", "C++", "C", "Java"};
List<String> suggetionList = new ArrayList<>();
ArrayAdapter<String> adapter;
//Assigning values and adapter
for (int x=0;x<arr.length;x++){
suggetionList.add(arr[x]);
}
adapter = new ArrayAdapter<String>
(getActivity(), android.R.layout.select_dialog_item, suggetionList);
mBinding.autoCompleteTextView.setThreshold(2);
mBinding.autoCompleteTextView.setAdapter(adapter);
И Функции для обработки события щелчка для автозаполнения и нового элемента в автозапросе
private void handleAutocompleteSelection() {
RxAutoCompleteTextView.itemClickEvents(mBinding.autoCompleteTextView)
.map(adapterViewItemClickEvent -> {
String item = (String) mBinding.autoCompleteTextView.getAdapter()
.getItem(adapterViewItemClickEvent.position());
mBinding.autoCompleteTextView.setText("");
return item;
})
.subscribe(item -> {
insertSkillinList(item.toString());
createselectedChip(item.toString());
});
}
private void handleAutoSuggestionNewItem() {
RxTextView.textChanges(mBinding.autoCompleteTextView)
.debounce(800, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(text->{
setNewItem(text.toString());
});
}
Проблема в том, что текущая установка вставляет данные в ArrayList
для автозаполнения, но не показывает мгновенно, я новичок в RX Java, и это назначение, которое я беру для изучения, если возможно, пожалуйста, дайте мне знать пути, даже без RXjava.