在Android中检查用户名和密码

时间:2011-01-24 09:02:45

标签: java android

我有一个用户名和密码字段,现在我需要检查并将其重定向到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中不会以同样的方式接受我

3 个答案:

答案 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 {
    ...
}

以粗体字母显示修正