我正在制作一个可以计算payOnloan,预付费等的应用程序(我主管的3个月项目,我有一个实习生)。但是我在某个时候陷入困境。我想要一个EditText,它会在哪里在我输入值时自动更改其值,在本例中为数字。例如:
类型1 在EditText输出中 1 当我们输入10 在EditText输出中 10 当我们输入100 在EditText输出中 100 当我们键入1.000 在EditText输出中 1.000 当我们键入10.000 在EditText输出中 10.000 等等..(直到1.000.000.000.000) 注意:对于一个EditText,我的意思是我们给它输入,输出也在同一个edittext上
是否可以这样做?我已经尝试了几乎所有相关的数字分隔符或十进制格式或货币转换。但这些都不起作用。
我无法附上图片文件sry,
提前感谢,
此致 乔治
答案 0 :(得分:2)
所以如果我理解正确的话,你有一个编辑文本框,你输入的任何内容都需要反映在其他视图中?如果是这种情况,那么您正在寻找文本观察器。
以下是文本观察器的示例:
final TextWatcher mTextEditorWatcher = new TextWatcher(){
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
yourView.setText(yourEditText.getText().toString());
}
public void afterTextChanged(Editable s) {
}
};
注意:public void onTextChanged
但要注意空值!
检查textChange上文本观察器中的号码长度,并使用以下内容添加小数:
DecimalFormat df = new DecimalFormat("#.00");
String inputFormated = df.format(yourEditText.getText.toString());
System.out.println(inputFormated);
答案 1 :(得分:2)
您是如何定义小数格式的?
尝试这样的事情。
DecimalFormat formattedStuff = new DecimalFormat("#,###,###,###,##0");
String recieved = yourEditText.getText().toString();
yourEditText.setText(formattedStuff.format(recieved));