我的意思是,我应该在哪个功能中使用文本观察器?我尝试在 onResume() 函数中使用它,但没有奏效。
我正在尝试在用户键入时检查在我的 EditText 框中输入的每个字符之一。更具体地说,我给了用户一个谜语,答案是“SOS”。答案在 EditText 框中,我想在输入后立即检查每个字符(我在 edittext 框中添加了最大长度属性,因此它不会超过 3)。当我发现一个错误的字符时,我想设置一个可见的 X 图标图像,如果字符正确则相反。
这是我的 TextWatcher 代码片段:
final EditText editText=(EditText)findViewById(R.id.editTxt_three);
editText.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
for(int i=0;i<editText.length();i++)
{
if(i==0)
{
img=(ImageView)findViewById(R.id.icon1);
if(s.charAt(i)!='s' || s.charAt(i)!='S')
img.setVisibility(1);
else
img.setVisibility(0);
}
if(i==1)
{
img=(ImageView)findViewById(R.id.icon2);
if(s.charAt(i)!='o' || s.charAt(i)!='O')
img.setVisibility(1);
else
img.setVisibility(0);
}
if(i==2)
{
img=(ImageView)findViewById(R.id.icon3);
if(s.charAt(i)!='s' || s.charAt(i)!='S')
img.setVisibility(1);
else
img.setVisibility(0);
}
}
}
});
简而言之,我应该在哪里使用此代码?如果您想到什么,请随意简化我的代码:)