基本上我有一个文本框和一个如下所示的edittext框:
用户名[]
然后在底部有一个名为“提交”的按钮。
简单来说,我必须输入一个用户名,将它与我在strings.xml文件中的字符串数组进行比较,如果它不等于数组中的任何字符串,那么我很高兴去。
字符串数组如下所示:
< string-array name="usernames">
<
项&GT;布赖恩
&LT; item>John</item>
<
项&GT;太
&LT; item>Mike</item>
<
/串阵列&GT;
我很困惑如何在伪代码中执行简单的if语句:
if(username_entered_in_editText == usernameArray [contents]) {submit_check = true; }
非常感谢任何建议!
答案 0 :(得分: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;
}