Сравнение содержимого массива строк с содержимым EditText - PullRequest
0 голосов
/ 18 мая 2011

В основном у меня есть текстовое поле и поле редактирования текста, которое выглядит следующим образом:

Имя пользователя []

Затем внизу есть кнопка «Отправить».

Достаточно просто, я должен ввести имя пользователя, сравнить его со строковым массивом, который у меня есть в моем файле strings.xml, и если он не равен ни одной из строк в массиве, тогда я готов.

Массив строк выглядит следующим образом:

<<code>string-array name="usernames"> < item> Брайан <<code>item>John</item> < item> Matt <<code>item>Mike</item> < / string-array>

Ясбит с толку относительно того, как я могу сделать простое утверждение if, которое в псевдокоде выглядит следующим образом:

if (username_entered_in_editText == usernameArray [contents]) {submit_check = true;}

Буду признателен за любой совет!

1 Ответ

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

Попробуйте что-нибудь подобное.Получите экземпляр вашего String [], получите текст из вашего EditText с помощью getText (). ToString () и сравните его с каждым именем в списке.Это не оптимизировано, конечно.Если ваш массив String отсортирован, вы можете реализовать бинарный поиск, чтобы ускорить его, но общая теория здесь сработает.

String[] usernames = getStringArray(R.array.usernames);
EditText editText = (EditText)findViewById(R.id.edittext);
String candidate = editText.getText().toString();
boolean submit_check = usernameTaken(candidate, usernames);

public boolean usernameTaken(String candidate, String[] usernames) {
    for(String username : usernames) {
        if(candidate.equals(username)) {
            return true;
        } 
    }
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...