我有一个应用程序,用户在EditText字段中输入文本。用户单击“确定”后(在键盘输入模式下),EditText中的值正确(假设为“Smile”)。
if (answers.get(counter).getText().equals(opponentAnswers.get(counter)))
但是这个if语句失败了,因为相同的EditText具有T9选项建议的值,当用户输入他的答案时(例如EditText的值将是“Smile Smiling Smiled”),而它应该只有一个价值“微笑”。
有任何想法如何解决这个问题?
答案 0 :(得分:0)
这真的很奇怪。这些是猜测,但如果我是你,这就是我接下来会尝试的:
一个。而不是对getText()做一个等号,尝试在getText()上做一个toString,所以:
if (answers.get(counter).getText().toString().equals(opponentAnswers.get(counter)))
B中。如果这不起作用,那么您可以尝试在EditText上使用addTextChangedListener
添加TextWatcher,并从中获取值。在afterTextChanged中返回的editable上调用toString()可能会为您提供所需的值。
private class SearchTextWatcher implements TextWatcher {
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void afterTextChanged(Editable s) {
//Get the text the user sees
String textShownToUser = s.toString();
}
}
希望这有帮助!祝你好运!