我正在尝试在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);
}
}
});
}
}
答案 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文件中预先硬编码。