我有一个用户名和密码字段,现在我需要检查并将其重定向到Android的下一页。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final EditText loginText = (EditText) findViewById(R.id.widget44);
final EditText loginPassword = (EditText) findViewById(R.id.widget47);
final Button button = (Button) findViewById(R.id.widget48);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent myIntent = null;
if(loginText.getText().equals("admin") &&
loginPassword.getText().equals("admin")) {
System.out.println("Entering");
myIntent = new Intent(view.getContext(), Page1.class);
} else {
}
startActivity(myIntent);
}
});
}
Temp现在我正在通过硬编码来检查这些值,但这对我来说也不起作用。为什么?我通常会像这样检查 Java ,为什么它在Android中不会以同样的方式接受我
答案 0 :(得分:5)
我认为这是因为EditText#getText()
会返回Editable
个对象。尝试
if(loginText.getText().toString().equals("admin") &&
loginPassword.getText().toString().equals("admin")) {
...
}
答案 1 :(得分:2)
您是否需要将toString()
放入您的文本中?
像这样:
if(loginText.getText().toString().equals("admin") &&
loginPassword.getText().toString().equals("admin")) {
...
编辑:中微子更快(+1):)
答案 2 :(得分:1)
朋友我发现唯一的小问题。在你的代码中显示如下。正确它,我认为它适用于你:
if(loginText.getText().**toString()**.equals("admin") &&
loginPassword.getText()**.toString()**.equals("admin")) {
System.out.println("Entering");
myIntent = new Intent(view.getContext(), Page1.class);
} else {
...
}
以粗体字母显示修正