【发布时间】:2014-09-08 22:27:44
【问题描述】:
我正在创建一个包含 EditText 的对话框。对话框占据了一半以上的屏幕,并且对话框的逻辑不允许使用键盘。
我正在使用这个解决方案Android 4.0 EditText without soft keyboard and with cursor positioning,但我发现当你有一个多行 EditText 时,它不起作用,因为你只能选择第一行。
多行EditText有解决方案吗?
对于单行,这有效:
if(v.getId() == R.id.emo_text_field){
Layout layout = ((EditText) v).getLayout();
float x = event.getX() + v.getScrollX();
int offset = layout.getOffsetForHorizontal(0, x);
if(offset>0){
if(x>layout.getLineMax(0)){
((EditText) v).setSelection(offset); // touch was at end of text
}
else{
((EditText) v).setSelection(offset - 1);
}
}
return true;
}
【问题讨论】:
-
你找到解决这个问题的方法了吗?我在使用多行编辑文本时也面临同样的问题
-
@user1213202 是的,对不起,我写了我的答案。