直接使用EditText的onClickListener或者onTouchListener是无法很好的实现.
修改如下:
editText.setOnTouchListener(new View.OnTouchListener() {
@Override public boolean onTouch(View view, MotionEvent motionEvent) { int type = editText.getInputType();
editText.setInputType(InputType.TYPE_NULL);
editText.onTouchEvent(motionEvent);
editText.setInputType(type);
editText.setSelection(editText.getText().length());
return false; } });
editText.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View view) { showCustomKeyboard(); } });