Android 点击EditText里的文字,如何获取当前文字在输入文本的具体位置?
通过此方法禁止弹出系统键盘,调用自定义键盘,并且在editext的setOnTouchListener事件中要返回false,不然无法将光标移到手指点击的位置。
private void showEditText(EditText edit) {
if (android.os.Build.VERSION.SDK_INT <= 10) {//4.0以下
edit.setInputType(InputType.TYPE_NULL);
} else {
this.act.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
try {
Class<EditText> cls = EditText.class;
Method setShowSoftInputOnFocus;
setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus",
boolean.class);
setShowSoftInputOnFocus.setAccessible(true);
setShowSoftInputOnFocus.invoke(edit, false);
} catch (Exception e) {
e.printStackTrace();
}
}
}
4 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
3 回答909 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答737 阅读✓ 已解决
2 回答1.7k 阅读
用
editText.setSelection(Edittext.length())
Example