我有一个无法解决的奇怪错误。错误是:不可转换类型“ int”和“ TextWatcher”的对象之间的“ equals()”。这是我的代码:
if( textWatcher_ans.equals(R.string.editText_7)){
Toast.makeText(getApplication().getBaseContext(),
(R.string.Good),Toast.LENGTH_SHORT).show();
}
private final TextWatcher textWatcher_ans = new TextWatcher(){
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
textView_name.setVisibility(View.VISIBLE);
}
public void afterTextChanged(Editable s) {
if (s.length() == 0) {
textView_name.setVisibility(View.GONE);
} else {
textView_name.setText("You have entered : " + editText_surname.getText());
}
}
我很困,我不知道该怎么办。
有人可以帮我吗?
最佳答案
如果您的目的是在R.string.Good
中的文本与editText_surname
匹配的情况下显示R.string.editText_7
消息,请尝试执行以下操作:
首先将TextWatcher附加到editText_surname
:
editText_surname.addTextChangedListener(textWatcher_ans);
在您的
afterTextChangedMethod
中:public void afterTextChanged(Editable s) {
if (s.length() == 0) {
textView_name.setVisibility(View.GONE);
} else {
textView_name.setText("You have entered : " + s.toString());
}
if (s.toString().equals(context.getString(R.string.editText_7)) {
Toast.makeText(getApplication().getBaseContext(),
(R.string.Good),Toast.LENGTH_SHORT).show();
}
}