Android EditText插入

Bil*_*ney 6 android android-edittext

如何在EditText字段的中间插入字符?
我正在制作一个可以采用字符串表达式的计算器,如"3*(10 ^ 2-8)".我正在使用EditText字段使用XML来生成字符串,如下所示:

的EditText

android:id="@+id/entry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/label"
android:text="@string/testString1"
android:background="@android:drawable/editbox_background"
Run Code Online (Sandbox Code Playgroud)

然后在我的活动中,我说:

entry = (EditText)findViewById(R.id.entry);
entry.setText("blablahblah");
entry.setSelection(3);
Run Code Online (Sandbox Code Playgroud)

现在我有一个EditText字段,光标在字符串中的第三个字符后闪烁.如何在那里插入一个角色,所以它正确地说"blahblahblah"?

Jan*_*enk 4

EditText 小部件的 getText() 方法返回一个实现 Editable 接口的对象。在此对象上,您可以调用insert()方法在特定位置插入文本。

我通过阅读文档发现了这一点,但我自己从未使用过。但根据您的需要,要在 EditText 中的选定位置插入字符,应执行以下操作:

Editable text = entry.getText();
text.insert(entry.getSelectionStart(), "h");
Run Code Online (Sandbox Code Playgroud)