在我的项目中,我有一个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) 如何使编辑文本接受格式的输入
4digitnumber-4dignumber-4dignumber-4dignumber
Run Code Online (Sandbox Code Playgroud)
代码
text.addTextChangedListener(new TextWatcher() {
int len = 0;
String string ;
@Override
public void afterTextChanged(Editable s) {
text.setOnKeyListener(new OnKeyListener()
{ public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_DEL)
{
}
else{
string = text.getText().toString();
len = string.length()+1;
if(len%5==0){text.append("-");}
}
return false; } });
}
});
Run Code Online (Sandbox Code Playgroud)
添加时工作正常,但删除或编辑会导致问题.
是否可以EditText 在用户输入数据时自动插入字符?
也就是说,如果用户输入一个长号码,例如123456789012,这个号码是否可能在他在编辑文本框中输入时显示,但是每隔4个字符都有一个短划线?
因此,当您键入上面的数字时,您会看到它在EditText框中输入,但看起来像这样:1234-5678-9012.
目前我有一个应用程序,您可以在其中输入一个长号,然后按一个按钮,它会为您插入破折号,但我很好奇是否可以在键入时完成?
非常感谢任何帮助.