java 在Android中检查用户名和密码

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4780197/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-30 07:59:21  来源:igfitidea点击:

Checking username and password in Android

javaandroid

提问by theJava

I have a username and password field and now i need to check and redirect him to the next page in 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 now i am checking by hardcoding the values, but this too does not work for me. Why? I usually check in Javalike this, why does it not accept me the same way in Android

Temp 现在我正在通过对值进行硬编码来检查,但这对我也不起作用。为什么?我通常像这样检查Java,为什么它在Android中不以同样的方式接受我

采纳答案by alex.zherdev

I think it's because EditText#getText()returns an Editableobject. Try

我认为这是因为EditText#getText()返回一个Editable对象。尝试

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

回答by Beasly

Don't you need to put toString()to your textelements?
Like this:

您不需要放入toString()文本元素吗?
像这样:

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

Edit: neutrino was faster (+1) :)

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

回答by chikka.anddev

Friend i am finding the only small prob. in ur code is showed below.correct it and i think it will work for u:

朋友,我正在寻找唯一的小问题。在你的代码中显示如下。更正它,我认为它对你有用:



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


see the correction in bold letters

请参阅以粗体显示的更正