我的应用程序中有一个EditText
和TextView
,我想在EditText
输入数字时,这个数字以自定义格式显示,但不是。
private int billAmount = 0;
private TextView amountTextView;
amountTextView = (TextView) findViewById(R.id.amountTextView);
amountEditText = (EditText) findViewById(R.id.amountEditText);
amountEditText.addTextChangedListener(amountEditTextWatcher);
private final TextWatcher amountEditTextWatcher=new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence,
int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence,
int i, int i1, int i2) {
try {
DecimalFormat df=new DecimalFormat("###,###,###,###");
df.format(billAmount);
amountTextView.setText(amountEditText.getText().toString());
billAmount=Integer.parseInt(amountEditText.getText().toString());
}catch (NumberFormatException e){
amountTextView.setText("");
billAmount=0;
}
这有效
try {
DecimalFormat df=new DecimalFormat("###,###,###,###");
amountTextView.setText(df.format(Integer.parseInt(amountEditText.getText().toString())));
} catch (NumberFormatException e){
amountTextView.setText("");
billAmount=0;
}