在我的项目中,我有一个EditText.我想计算中的字符数EditText,并在数字中显示该数字TextView.我写了以下代码,它工作正常.但是,我的问题是当我点击Backspace它计数时,但我需要减少数量.我怎么考虑Backspace?
tv = (TextView)findViewById(R.id.charCounts);
textMessage = (EditText)findViewById(R.id.textMessage);
textMessage.addTextChangedListener(new TextWatcher(){
public void afterTextChanged(Editable s) {
i++;
tv.setText(String.valueOf(i) + " / " + String.valueOf(charCounts));
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){}
public void onTextChanged(CharSequence s, int start, int before, int count){}
});
Run Code Online (Sandbox Code Playgroud) 在什么情况下我应该使用afterTextChanged而不是onTextChanged反之亦然?例子将是最有启发性,注重为什么afterTextChanged必须重写,但onTextChanged并afterTextChanged没有被覆盖.
任何人都可以告诉我如何掩盖EditText中的子字符串或如何将EditText子字符串输入更改为密码类型或替换为另一个字符,如123xxxxxxxxx3455
String contents = et1.getText().toString();
et1.setText(contents.replace.substring(0, contents.length()-2),"*");
Run Code Online (Sandbox Code Playgroud)
请告诉我如何在Android中使用TextWatcher方法.
我正在阅读Android编程中的TextWatcher.我无法理解afterTextChanged和onTextChanged之间的区别.
虽然我提到了 TextWatcher的onTextChanged,beforeTextChanged和afterTextChanged之间的差异,但是当我需要使用onTextChanged而不是afterTextChanged时,我仍然无法想到这种情况.