实现接口的三个方法
public void afterTextChanged(Editable s)
public void beforeTextChanged(CharSequence s, int start, int count, int after)
public void onTextChanged(CharSequence s, int start, int before, int count)
package com.example.androidtest;
import android.os.Bundle;
import android.app.Activity;
import android.widget.EditText;
import android.text.TextWatcher;
import android.text.Editable;
import java.text.NumberFormat;
public class MainActivity extends Activity {
EditText mText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mText = new EditText(this);
setContentView(mText);
}
}
class CurrencyTextWatcher implements TextWatcher
{
boolean mEditing;
public CurrencyTextWatcher()
{
mEditing = false;
}
public synchronized void afterTextChanged(Editable s)
{
if (!mEditing) {
mEditing = true;
String digits = s.toString().replace("\\D", "");
NumberFormat nf = NumberFormat.getCurrencyInstance();
try {
String formmated = nf.format(Double.parseDouble(digits) / 100);
s.replace(0, s.length(), formmated);
} catch (NumberFormatException e) {
s.clear();
}
mEditing = false;
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
public void onTextChanged(CharSequence s, int start, int before, int count) { }
}