我有一个按钮和一个EditText在我的应用程序。当你点击按钮,文本从EditText放置在数据库中。我需要当点击按钮,字符像这样AselectedtextA添加到所选的文本片段中的EditText,同时保留位置的其余文本从EditText之前和之后的选择。
下面是我的代码:
- 主要活动. java**
ImageView button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String string;
int startSelection = descEditText.getSelectionStart();
int endSelection = descEditText.getSelectionEnd();
string = descEditText.getText().toString();
string.substring(startSelection, endSelection);
Spanned s = Html.fromHtml("<b>" + string + "</b>");
descEditText.setText(s);
}
});
}
- 活动主体. xml**
<ImageView
android:id="@+id/button"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_marginTop="100dp"
android:alpha="0.8"
android:src="@drawable/ic_format_bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
我需要在单击按钮时,像这样的字符AselectedtextA被添加到EditText中的选定文本片段,同时保留EditText中选择前后的其余文本的位置。
1条答案
按热度按时间soat7uwm1#
很奇怪,问题看起来并不复杂,却没有人给出答案),总的来说,我找到了一个合适的拐杖......唯一让我有点困惑的是,在选中的文本片段末尾添加字符时出现的shift,但由于endSelection是int,我只是在位置上添加了要添加的字符数......