2011-05-17 96 views
0

基本上我有一个文本框,看起来像这样一个EditText框:比较字符串数组内容与内容的EditText

用户名[]

然后在底部有一个名为“提交”按钮。

简而言之,我必须输入一个用户名,将其与我在strings.xml文件中的字符串数组进行比较,如果它不等于数组中的任何字符串,那么我很好走。

的字符串数组是这样的:

< string-array name="usernames"> <项目>布莱恩 < item>John</item> <项目>马特 < item>Mike</item> < /字符串数组>

我很困惑,我该怎么做一个简单的,如果声明,在伪代码看起来像:

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

任何意见将不胜感激!

回答

0

尝试这样的事情。获取String []的实例,使用getText()。toString()从EditText获取文本,然后比较列表中的每个名称。当然,这不是最优化的。如果你的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; 
}