public class MainActivity extends Activity {
private EditText editText;
private long lastTime;
private int lastKey;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.et);
editText.setKeyListener(new NumberKeyListener() {
@Override
public boolean onKeyUp(View view, Editable content, int keyCode, KeyEvent event) {
int currentKey = event.getKeyCode();
long currentTime = System.currentTimeMillis();
long timeCha = currentTime - lastTime;
if (timeCha < 1000 && currentKey == lastKey) {
Editable editableText = editText.getEditableText();
int selectionStart = editText.getSelectionStart();
editableText.delete(selectionStart - 1, selectionStart);
return true;
}
lastKey = currentKey;
lastTime = currentTime;
return super.onKeyUp(view, content, keyCode, event);
}
@Override
public int getInputType() {
// TODO Auto-generated method stub
return 0;
}
@Override
protected char[] getAcceptedChars() {
// TODO Auto-generated method stub
return new char[] { '0', '1', '2', '3', '4', '5', '6', };
}
});
}
}
onKeyUp()方法处理重复点击
getAcceptedChars()方法限制输入的内容