Java 祝酒密码文本视图
我试图烤一个字符串,它是从一个密码文本中提取的,但是我的结果是空的 我猜这是因为编辑文本是一个密码类型的字段,它是以某种方式编码的,但我不知道如何绕过这个问题 很明显,我不想在live app中吐司密码,这是为了测试目的,但即使在我的非吐司测试中,它仍然不起作用 以下是我的简单代码:Java 祝酒密码文本视图,java,android,string,passwords,toast,Java,Android,String,Passwords,Toast,我试图烤一个字符串,它是从一个密码文本中提取的,但是我的结果是空的 我猜这是因为编辑文本是一个密码类型的字段,它是以某种方式编码的,但我不知道如何绕过这个问题 很明显,我不想在live app中吐司密码,这是为了测试目的,但即使在我的非吐司测试中,它仍然不起作用 以下是我的简单代码: public void SubmitRegistration(View view) { // assign text in fields to string values
public void SubmitRegistration(View view) {
// assign text in fields to string values
EditText first = (EditText)findViewById(R.id.first);
String first2 = first.getText().toString();
EditText last = (EditText)findViewById(R.id.last);
String last2 = last.getText().toString();
EditText display = (EditText)findViewById(R.id.display);
String display2 = display.getText().toString();
EditText email = (EditText)findViewById(R.id.email);
String email2 = email.getText().toString();
EditText password = (EditText)findViewById(R.id.password);
String password2 = password.getText().toString();
EditText vpassword = (EditText)findViewById(R.id.vpassword);
String vpassword2 = vpassword.getText().toString();
Toast.makeText(getApplicationContext(), "password 1 = " + password2, Toast.LENGTH_SHORT).show();
// if passwords match, send php url
if(vpassword2 == password2)
{
new RequestTask().execute("http://test");
}
else {
Toast.makeText(getApplicationContext(), "Passwords do not match!", Toast.LENGTH_SHORT).show();
}
}
首先,您向我们展示了由密码ans vpassword标识符引用的两个EditText,但从由第一个标识符引用的不同EditText获取密码文本 也许你想这样做
EditText password = (EditText)findViewById(R.id.password);
String password2 = password.getText().toString();
EditText vpassword = (EditText)findViewById(R.id.vpassword);
String vpassword2 = vpassword.getText().toString();
其次,在比较字符串时不要使用==运算符。使用相等的方法
vpassword2.equals(password2);
代码具体在哪里?在onClick处理程序中?请注意,您将从前两次获取内容,并将字符串与==进行比较,而大多数情况下,使用equals是不可行的。仍然存在字符串比较问题,使两个祝酒词显示在彼此的顶部。如果password2显示为空,请确保您输入的EditText实际上与id.password引用的EditText相同。可能是我无意中输入了错误的EditText名称的重复项,请忽略此项。但你们的同龄人工作得很好,都修好了,谢谢!但您知道为什么==不起作用吗?==用于引用比较,其中as equals方法用于验证字符串内容的等效性。。。有关更多信息,请参阅此处的线程