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