【发布时间】:2014-01-16 09:24:38
【问题描述】:
我正在尝试从密码 EditText 中提取一个字符串,但结果显示为空白。
我猜这是因为编辑文本是一种密码类型的字段,并且以某种方式进行了编码,但我不知道如何解决这个问题。
显然我不想在实时应用程序中祝酒密码,这是出于测试目的,但即使在我的非祝酒测试中,它仍然无法正常工作。
这是我的简单代码:
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();
}
}
【问题讨论】:
-
代码到底在哪里?在
onClick()处理程序中?请注意,您从first获取内容两次并将字符串与==进行比较,这在大多数情况下不起作用(使用equals())。 -
好的,现在编辑后代码更有意义了。仍然存在字符串比较问题,使两个 toasts 显示在彼此之上。如果
password2显示为空白,请确保您输入的EditText实际上与id.password引用的编辑文本相同。
标签: java android string passwords toast