Edittext 输入监听,计算价格总额

1)显示EditText中输入了多少个字符?
在EditText提供了一个方法addTextChangedListener实现对输入文本的监控。
TextWatcher是一个监听接口。

beforeTextChanged()   //文字改变前

onTextChanged()       //文字改变的时候

afterTextChanged()    //文字改变后



edt.addTextChangedListener(new OnTextChangeListener()); /** * EditText输入变化事件监听器 */ class OnTextChangeListener implements TextWatcher { @Override public void afterTextChanged(Editable s) { //Editable s 可变字符串 表示输入后的字符串 String numString = s.toString(); if (numString == null || numString.equals("")) { num = 0; } else { //把String转化成int类型 int numInt = Integer.parseInt(numString); if (numInt < 0) { Toast.makeText(ProductTypeSelectUI.this, "请输入一个大于0的数字", Toast.LENGTH_SHORT).show(); } else { //设置EditText光标位置 为文本末端 edt.setSelection(edt.getText().toString().length()); num = numInt; String unit_price = tv_unit_price.getText().toString(); int price = Integer.parseInt(unit_price); String sum = price * num+""; tv_amount.setText(sum); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } }

你可能感兴趣的:(EditText)