【问题标题】:Edit selected text in EditText在 EditText 中编辑选中的文本
【发布时间】:2023-02-17 07:22:43
【问题描述】:

我的应用程序中有一个按钮和一个 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);
            }
        });
    }

activity_Main.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" />

单击按钮时我需要这样的字符A选定的文本A被添加到 EditText 中的选定文本片段,同时保留选定前后 EditText 中其余文本的位置。

【问题讨论】:

    标签: java android android-edittext


    【解决方案1】:

    奇怪了,问题好像不复杂,但是没有人给出答案)。总的来说,我找到了一个合适的拐杖......唯一让我有点困惑的是在所选文本片段的末尾添加字符时出现的移位,但由于 endSelection 是 int,我只是将字符数添加到被添加到位置...

    String s = "AAA";
    String e = "BBBB";
    int startSelection = descEditText.getSelectionStart();
    int endSelection = descEditText.getSelectionEnd();
    descEditText.getText().insert(startSelection, s);
    descEditText.getText().insert(endSelection + 3, e);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 2011-01-06
      • 2019-08-01
      • 2016-10-06
      相关资源
      最近更新 更多