使用editText比较字符串并转到新页面/活动

时间:2014-04-28 16:16:29

标签: android

我正在尝试使用editText为我的Android应用程序登录屏幕。无论我如何尝试让它工作,它永远不会!目前我只是想将editText字段与单个字母字符串进行比较,如果匹配则调用函数来启动新活动。

非常感谢任何帮助!我的最终目标是制作两个Toast消息。如果没有输入,则显示“请输入用户名和密码”,如果输入错误则会显示“用户名密码组合错误”。然后如果匹配,应用程序将转到下一页,标题为“设备页面”。再次感谢!!

package com.example.chirp;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class LogIn extends Activity{

EditText edit_text; 
//  
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.loginscreen);

        edit_text   = (EditText)findViewById(R.id.editText2);
        login       = (Button)findViewById(R.id.button1);
        login.setOnClickListener(new View.OnClickListener()
        {
            public void onClick(View view)
                {
//                  Log.v("EditText value=", edit_text.getText().toString());   
                if(edit_text.getText().toString() == "d")
        {
            newscreen();
            }
            }
         });
}
    public void newscreen(){
        Intent i = new Intent(this, Devices.class);
        startActivity (i);
    }   
}

3 个答案:

答案 0 :(得分:3)

Edit.getText().toString() == "d"

String应与.equals()方法进行比较。所以改成它:

Edit.getText().toString().equals("d");

如果您的意思是即使不区分大小写,也可以使用:

Edit.getText().toString().equalsIgnoreCase("d");

答案 1 :(得分:2)

试试这个..

==总是只比较两个引用字符串您应该使用.equals

    if(Edit.getText().toString().equals("d"))
    {
        newscreen();
    }

答案 2 :(得分:0)

注意:比较字符串,请使用equals()。

假设您只想在点击任何按钮时比较字符串以转到不同的屏幕:

if(edit_text.getText().toString().equals("Your String"))
    {
        yourSomeScreen();
    }

如果要在编辑文本字段中键入时比较字符串,则需要使用TextWatcher,如下所示:

http://www.learn-android-easily.com/2013/06/using-textwatcher-in-android.html

希望这会有所帮助.. :)