TextView textView=new TextView(context);
textView.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) {
s.append("A");
}
});
Run Code Online (Sandbox Code Playgroud)
如果我们添加一个TextWatchera TextView,并且我想在其中附加一个字母TextView,每次用户在其中写一个字母,但这会不断重新调用TextWatcherListener,依此类推StackOverFlow error,所以如何附加一个文本而不重新打电话给TextWatcher听众?
在我的Android应用程序中,我需要实现一个TextWatcher接口来实现onTextChanged.我遇到的问题是,我想用一些额外的字符串更新相同的EditText.当我尝试这样做时,程序终止.
final EditText ET = (EditText) findViewById(R.id.editText1);
ET.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
try
{
ET.setText("***"+ s.toString());
ET.setSelection(s.length());
}
catch(Exception e)
{
Log.v("State", e.getMessage());
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
}
});
Run Code Online (Sandbox Code Playgroud)
我的程序终止,甚至我尝试捕获异常,就像我的代码仍然终止.有谁知道为什么会发生这种情况以及如何实现这一目标?谢谢.
java android textwatcher android-edittext android-textwatcher