在Android中检查用户名和密码

问题描述:

我有一个用户名和密码字段,现在我需要检查并重定向到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); 
       } 
      }); 
     } 

温度现在我正在通过硬编码值来检查,但是这对我也不起作用。为什么?我通常检查的Java这样,为何不接受我的Android

相同的方式,我想这是因为EditText#getText()返回Editable对象。尝试

if(loginText.getText().toString().equals("admin") && 
    loginPassword.getText().toString().equals("admin")) { 
    ... 
} 
+1

现在,如果不得不从DB,如何某处签到我是否会继续......有任何想法或例子。 – theJava 2011-01-24 09:19:28

您是否需要将toString()添加到您的textelements?
像这样:

if(loginText.getText().toString().equals("admin") && 
loginPassword.getText().toString().equals("admin")) { 
... 

编辑:中微子是快(+1):)

朋友我发现的唯一的小概率。在我们的代码中显示below.correct它,我认为它会为ü工作:


if(loginText.getText().**toString()**.equals("admin") && 
    loginPassword.getText()**.toString()**.equals("admin")) { 
    System.out.println("Entering"); 
    myIntent = new Intent(view.getContext(), Page1.class); 
} else { 
    ... 
} 

看到校正以粗体字母