我的应用包含一个Activity
,要求输入String
密码才能启动第二个Activity
。我使用EditText
作为输入,使用Button
进行验证。如果按下Button
,应用程序应检查插入的密码(假设它是“ABC”)是否与数组中的密码匹配。如果没有,请将插入的密码设置为红色。
public class Login extends AppCompatActivity{
Button mButton;
EditText mEdit;
String [] mArray;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
mButton = (Button)findViewById(R.id.anmelden_button);
mEdit = (EditText)findViewById(R.id.password);
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
Log.v("EditText", mEdit.getText().toString());
}
});
String [] mArray = getResources().getStringArray(R.array.password);
if (mArray.equals(mEdit.getText().toString())){
Intent intent = new Intent(this, secondactivity.class);
startActivity(intent);
}else{
mEdit.setTextColor(Color.RED);
}
}
}
我的问题是,当我插入“ABC”并按下按钮时,根本没有任何事情发生。
答案 0 :(得分:1)
您需要首先遍历所有密码,然后检查您是否找到了所需的密码。
你的onclick听众应该是这样的:
mButton.setOnClickListener(new View.OnClickListener()
{
public void onClick(View view)
{
String [] mArray = getResources().getStringArray(R.array.password);
// loop to check all passwords
for (String s : mArray) {
if (s.equals(mEdit.getText().toString())) {
// found the password
Intent intent = new Intent(this, secondactivity.class);
startActivity(intent);
return;
}
}
mEdit.setTextColor(Color.RED);
}
});
答案 1 :(得分:0)
将您的密码检查代码放在onClickListener
中循环遍历数组的每个元素,并根据EditText中的值进行检查