取消选中所选文本的一部分无效

时间:2018-11-05 01:13:23

标签: javascript java android eclipse android-studio

我试图找到一个答案,用于将其他文本未选中的文本取消选中,但正如图中所示取消该行中的整个文本。我几次发布了这个问题,但没有人能为我提供正确的答案。我取消了“我正在使用”一词的含义,但是当点击时却使整个行变粗体。请帮忙。

enter image description here

这是我正在使用的代码。

private void boldText(){
  int selectionStartb = texto.getSelectionStart();
  int selectionEndb = texto.getSelectionEnd();
  if (selectionStartb > selectionEndb) {
      int temp = selectionEndb;
      selectionEndb = selectionStartb;
      selectionStartb = temp;
  }
  if (selectionEndb > selectionStartb) {
      Spannable str = texto.getText();
      boolean BL = false;
      StyleSpan[] styleSpans;
      styleSpans = str.getSpans(selectionStartb, selectionEndb, StyleSpan.class);
      // If the selected text-part already has BOLD style on it, then
      // we need to disable it
      for (int i = 0; i < styleSpans.length; i++) {
          if (styleSpans[i].getStyle() == android.graphics.Typeface.BOLD) {
              str.removeSpan(styleSpans[i]);
              BL = true;
          }
      }
      // Else we set BOLD style on it
      if (!BL) {
          str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), selectionStartb, selectionEndb,
                  Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
      }

  }

}

0 个答案:

没有答案