在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Android/ Android 如何獲取EditText輸入的文本中任意文字的具體位置?

Android 如何獲取EditText輸入的文本中任意文字的具體位置?

Android 如何獲取EditText輸入的文本中任意文字的具體位置?
使用edittext.setSelection(edittext.getText().length)只能獲取最后字符的位置,怎樣獲取當中任意文字的位置。比如:edittetx輸入文字有abcdtghjk,通過手指點擊b,如何返回當前文字的位置?

回答
編輯回答
大濕胸
2017年1月8日 23:45
編輯回答
蝶戀花

通過此方法禁止彈出系統(tǒng)鍵盤,調(diào)用自定義鍵盤,并且在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();
    }
}

}

2018年9月12日 14:52