Используйте AutoCompleteTextView, но скрывайте символы на клавиатуре - PullRequest
0 голосов
/ 27 мая 2011

Я использую AutoCompleteTextView, чтобы пользователь мог видеть возможности. Поэтому, когда я нажимаю на два символа, например «Ба» Я увижу «Багамские острова», «Бахрейн», «Азербайджан» и т. д. - это работает!

Но если у меня нет страны, начинающейся с буквы "z", я скрою z на клавиатуре. И если я коснусь двух символов «ба», я увижу только «ч» на моей клавиатуре. Как я могу это сделать? И как я могу понять это, если я все еще хочу нажать «ба» и получу «Багамские острова» И «Азербайджан»?

Спасибо всем!

1 Ответ

0 голосов
/ 27 мая 2011

Как указал Cata, вы не сможете скрыть клавиши на программной клавиатуре, пока не напишите свою собственную клавиатуру - у вас есть пара других опций:

Оба эти параметра не будут скрывать клавиши от клавиатуры, но вы можете использовать их, чтобы запретить пользователю вводить недействительные клавиши.

Что касается вашего второго вопроса о сопоставлении пользовательского ввода с серединой строки, то этого нет в коде автозаполнения:

Соответствующий код из источника Android:

for (int i = 0; i < count; i++) {
            final T value = values.get(i);
            final String valueText = value.toString().toLowerCase();

            // First match against the whole, non-splitted value
            if (valueText.startsWith(prefixString)) {
                newValues.add(value);
            } else {
                final String[] words = valueText.split(" ");
                final int wordCount = words.length;

                for (int k = 0; k < wordCount; k++) {
                    if (words[k].startsWith(prefixString)) {
                        newValues.add(value);
                        break;
                    }
                }
            }
        }

Вы можете видеть, что он будет соответствовать только первым символам любого отдельного слова в элементе.Поэтому для достижения второй цели вам нужно написать собственный адаптер, который реализует фильтруемость.

Вот учебник, с которого можно начать: http://thinkandroid.wordpress.com/2010/02/08/writing-your-own-autocompletetextview/

...