【发布时间】:2013-12-18 09:51:21
【问题描述】:
我正在尝试将 EditText 值与 TextView 进行比较,但总是得到“不匹配!”
这是比较两个值的错误方法吗?
例如:我在 TextView 中存储了 win 并在 EditText 中输入了相同的 win 但得到 不匹配 ......
EditText editPassword;
String strPassword;
TextView lblPassword;
String password;
String strMatch;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.single_list_item);
editPassword = (EditText) findViewById(R.id.editPassword);
strPassword = editPassword.getText().toString();
// getting intent data
Intent in = getIntent();
password = in.getStringExtra(TAG_PASSWORD);
lblPassword = (TextView) findViewById(R.id.password_label);
lblPassword.setText(password);
strMatch= lblPassword.getText().toString();
btnSubmit = (Button) findViewById(R.id.btnSubmit);
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(strPassword.equals(strMatch))
{
Toast.makeText(getApplicationContext(), "Match !",
Toast.LENGTH_LONG).show();
editPassword.setText(null);
}
else
{
Toast.makeText(getApplicationContext(), "Does not match !",
Toast.LENGTH_LONG).show();
}
}
});
}
【问题讨论】:
-
只是一个忠告。了解如何在代码中设置断点并在调试模式下运行应用程序。这将允许您在应用程序运行时检查变量的值,并了解它们不匹配的原因。
-
在这里查看最佳解决方案.. stackoverflow.com/questions/6567527/…