在安卓中处理文本编辑的时候,我们一般都是用EditText
控件,除了基本的输入文字功能之外,我们很可能还需要一些更灵活的功能,比如在光标所在位置插入一张图片。但是EditText
本身只有追加函数append(),并没有insert方法,难道要我们自己写方法实现插入功能吗,经过研究之后发现,EditText
有已经实现好了的插入方法,不过在其附属的另外一个对象Editable
中。通过getEditableText()方法可以获得该对象。下面的一段代码演示了如何在
EditText
的光标之处插入文字:
1
2
3
4
5
6
7
8
9
|
EditText mEditText = (EditText)findViewById(R.id.input); //EditText对象 int index = mEditText.getSelectionStart(); //获取光标所在位置 String text= "I want to input str" ; Editable edit = mEditText.getEditableText(); //获取EditText的文字 if
(index < 0 || index >= edit.length() ){ edit.append(text); } else { edit.insert(index,text); //光标所在位置插入文字 } |