有时候需要让光标显示在EditText的指定位置或者选中某些文本。同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点。
1. 设置光标到指定位置
EditText et = (EditText) findViewById(R.id.etTest);
et.setSelection(2);
为了增加用户体验,在工作中难免要对textarea动态插入一些内容,插入完成后又想让光标定位于textarea的最后,各浏览器对这个的解释有些差异,下面整理了一个兼容浏览器的方法 toTextEnd ,此方法接受一个参数,该参数为要定位光标的目标元素【可编辑表单元素】。
其实理论很简单,在IE中采用createTextRange方法,非IE中采用setSelectionRange方法进行光标定位。