Android 重写EditText的onTextChange侦听器
我想覆盖EditText的textchangelistener 示例场景: 我的输入:123 ,所需输出:1.23 我的输入:12340 ,所需输出:123.40 我的输入:0 ,所需输出:0.00 我的输入:1 ,所需输出:0.01您必须添加文本Android 重写EditText的onTextChange侦听器,android,android-edittext,Android,Android Edittext,我想覆盖EditText的textchangelistener 示例场景: 我的输入:123 ,所需输出:1.23 我的输入:12340 ,所需输出:123.40 我的输入:0 ,所需输出:0.00 我的输入:1 ,所需输出:0.01您必须添加文本 EditText editText; editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChang
EditText editText;
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) {
}
});
在ContextChanged方法中添加逻辑
String output = s.subSequence(s.length() - 3,
s.length() - 1).toString();
output = s.subSequence(0, s.length() - 3).toString()
.toString()
+ "." + output;
Log.i(TAG, "Out Put ::" + output);
}
试一试
如果要将123、12340打印为1、23、123、40,则在使用任何awnsers时必须除以100,小心不要将输出设置为
编辑文本的文本。否则监听器将再次被调用,并将启动一个无休止的循环。是的,先生,我最近遇到了这个错误。这就像堆栈溢出错误。谢谢你的提醒。:)谢谢你的回答。第一个代码工作得非常好。但第二个代码在某些情况下不起作用。无论如何,谢谢,我现在已经解决了我的问题。
float MyInput = 10;
String DesiredOutput = String.format("%.2f", MyInput ); // prints 10,00