等于不工作

时间:2017-10-23 14:14:59

标签: android string login

我正在尝试在android上构建一个简单的登录页面,但equals()部分由于某种原因没有返回true,因此当我按下按钮登录时没有任何反应。这是我的活动

public class Login extends AppCompatActivity {

    Button login1;
    TextView display1;
    EditText username2, password2;
    TextView test1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        login1 = (Button) findViewById(R.id.button1);
        display1 = (TextView) findViewById(R.id.warningText1);
        username2 = (EditText) findViewById(R.id.username1);
        password2 = (EditText) findViewById(R.id.password1);
        test1 = (TextView) findViewById(R.id.textView2);

        login1.setOnClickListener(new View.OnClickListener() {

            String u1 = username2.getText().toString();

            public void onClick(View v) {
                if (u1.equals("a")) {
                    Intent intent = new Intent(Login.this, User.class);
                    startActivity(intent);
                }
            }

        }); 
    } 
}

3 个答案:

答案 0 :(得分:2)

login1.setOnClickListener(new View.OnClickListener() {

    String u1 = username2.getText().toString();

getText().toString()在实例化OnClickListener时运行,此时EditText中没有任何内容。将该行移到onClick()内,以便在点击时执行。

答案 1 :(得分:0)

您的EditText代码在用户输入您必须移动此代码的任何内容之前运行

String u1 = username2.getText().toString();

onClickListener()内作为

    public void onClick(View v) {
        String u1 = username2.getText().toString();
        if (u1.equals("a")) {

            Intent intent = new Intent(Login.this, User.class);
            startActivity(intent);

        }
    }

答案 2 :(得分:0)

感谢大家的帮助! 我想出了这个问题。该文本在XML文件中预先硬编码。