Tabnine Logo
SpannableStringBuilder.getSpanEnd
Code IndexAdd Tabnine to your IDE (free)

How to use
getSpanEnd
method
in
android.text.SpannableStringBuilder

Best Java code snippets using android.text.SpannableStringBuilder.getSpanEnd (Showing top 20 results out of 315)

origin: square/leakcanary

public static void replaceUnderlineSpans(SpannableStringBuilder builder, Resources resources) {
 UnderlineSpan[] underlineSpans = builder.getSpans(0, builder.length(), UnderlineSpan.class);
 for (UnderlineSpan span : underlineSpans) {
  int start = builder.getSpanStart(span);
  int end = builder.getSpanEnd(span);
  builder.removeSpan(span);
  builder.setSpan(new SquigglySpan(resources), start, end, 0);
 }
}
origin: seven332/EhViewer

for (int i = 0; i < obj.length; i++) {
  int start = mSpannableStringBuilder.getSpanStart(obj[i]);
  int end = mSpannableStringBuilder.getSpanEnd(obj[i]);
origin: stackoverflow.com

 final Context context = ... // whereever your context is
CharSequence sequence = Html.fromSource(context.getString(R.string.clickable_string));
SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
UnderlineSpan[] underlines = strBuilder.getSpans(UnderlineSpan.class);
for(UnderlineSpan span : underlines) {
  int start = strBuilder.getSpanStart(span);
  int end = strBuilder.getSpanEnd(span);
  int flags = strBuilder.getSpanFlags(span);
  ClickableSpan myActivityLauncher = new ClickableSpan() {
   public void onClick(View view) {
    context.startActivity(getIntentForActivityToStart());
   }
  };

  strBuilder.setSpan(myActivityLauncher, start, end, flags);
}

TextView textView = ...
textView.setText(strBuilder);
textView.setMovementMethod(LinkMovementMethod.getInstance());
origin: PrivacyApps/html-textview

private FixingResult addSpacesAroundSpansUntilFixed(SpannableStringBuilder builder,
                          int widthMeasureSpec, int heightMeasureSpec) {
  Object[] spans = builder.getSpans(0, builder.length(), Object.class);
  List<Object> spansWithSpacesBefore = new ArrayList<>(spans.length);
  List<Object> spansWithSpacesAfter = new ArrayList<>(spans.length);
  for (Object span : spans) {
    int spanStart = builder.getSpanStart(span);
    if (isNotSpace(builder, spanStart - 1)) {
      builder.insert(spanStart, " ");
      spansWithSpacesBefore.add(span);
    }
    int spanEnd = builder.getSpanEnd(span);
    if (isNotSpace(builder, spanEnd)) {
      builder.insert(spanEnd, " ");
      spansWithSpacesAfter.add(span);
    }
    try {
      setTextAndMeasure(builder, widthMeasureSpec, heightMeasureSpec);
      return FixingResult.fixed(spansWithSpacesBefore, spansWithSpacesAfter);
    } catch (IndexOutOfBoundsException ignored) {
    }
  }
  if (HtmlTextView.DEBUG) {
    Log.d(HtmlTextView.TAG, "Could not fix the Spanned by adding spaces around spans");
  }
  return FixingResult.notFixed();
}
origin: PrivacyApps/html-textview

@SuppressLint("WrongCall")
private void removeUnneededSpaces(int widthMeasureSpec, int heightMeasureSpec,
                 SpannableStringBuilder builder, FixingResult result) {
  for (Object span : result.spansWithSpacesAfter) {
    int spanEnd = builder.getSpanEnd(span);
    builder.delete(spanEnd, spanEnd + 1);
    try {
      setTextAndMeasure(builder, widthMeasureSpec, heightMeasureSpec);
    } catch (IndexOutOfBoundsException ignored) {
      builder.insert(spanEnd, " ");
    }
  }
  boolean needReset = true;
  for (Object span : result.spansWithSpacesBefore) {
    int spanStart = builder.getSpanStart(span);
    builder.delete(spanStart - 1, spanStart);
    try {
      setTextAndMeasure(builder, widthMeasureSpec, heightMeasureSpec);
      needReset = false;
    } catch (IndexOutOfBoundsException ignored) {
      needReset = true;
      int newSpanStart = spanStart - 1;
      builder.insert(newSpanStart, " ");
    }
  }
  if (needReset) {
    setText(builder);
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  }
}
origin: stackoverflow.com

 TextView decription = (TextView)convertView.findViewById(R.id.library_rss_expan_chaild_des_textView);
String dec=d.get_description()+"<a href='"+d.get_link()+"'><u>more</u></a>";
CharSequence sequence = Html.fromHtml(dec);
SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
UnderlineSpan[] underlines = strBuilder.getSpans(0, 10, UnderlineSpan.class);   
for(UnderlineSpan span : underlines) {
  int start = strBuilder.getSpanStart(span);
  int end = strBuilder.getSpanEnd(span);
  int flags = strBuilder.getSpanFlags(span);
  ClickableSpan myActivityLauncher = new ClickableSpan() {
    public void onClick(View view) {
      Log.e(TAG, "on click");
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(d.get_link()));
      mContext.startActivity(intent);         
    }
  };
  strBuilder.setSpan(myActivityLauncher, start, end, flags);
}
decription.setText(strBuilder);
decription.setLinksClickable(true);
decription.setMovementMethod(LinkMovementMethod.getInstance());
origin: square1-io/rich-text-android

@Override
public int getSpanEnd(Object span) {
  return mSpannableString.getSpanEnd(span);
}
origin: sunhapper/SpEditTool

/**
 * Return the correct end for the DynamicLayout$ChangeWatcher span.
 */
@Override
public int getSpanEnd(Object tag) {
 if (isWatcher(tag)) {
  final WatcherWrapper watcher = getWatcherFor(tag);
  if (watcher != null) {
   tag = watcher;
  }
 }
 return super.getSpanEnd(tag);
}
origin: MFlisar/GDPRDialog

private void makeLinkClickable(SpannableStringBuilder strBuilder, final URLSpan span, Runnable runnable) {
  int start = strBuilder.getSpanStart(span);
  int end = strBuilder.getSpanEnd(span);
  int flags = strBuilder.getSpanFlags(span);
  ClickableSpan clickable = new ClickableSpan() {
    public void onClick(View view) {
      runnable.run();
    }
  };
  strBuilder.setSpan(clickable, start, end, flags);
  strBuilder.removeSpan(span);
}
origin: Ronak-LM/memoir

  void swapIn(SpannableStringBuilder builder) {
    int start = builder.getSpanStart(this);
    int end = builder.getSpanEnd(this);
    builder.removeSpan(this);
    if (start >= 0 && end > start && end <= builder.length()) {
      builder.setSpan(mSpan, start, end, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
    }
  }
}
origin: stackoverflow.com

 SpannableStringBuilder builder = ...
URLSpan[] spans = builder .getSpans(0, builder .length(), URLSpan.class);
for (URLSpan span : spans) {
  int start = builder .getSpanStart(span);
  int end = builder .getSpanEnd(span);
  s.removeSpan(span);
  span = new CustomURLSpan(span.getURL().replace("http://", "scheme://"));
  s.setSpan(span, start, end, 0);
}
textView.setText(builder);
origin: geniusgithub/AndroidDialer

private SpannableStringBuilder removeImageChar(SpannableStringBuilder text) {
  SpannableStringBuilder buf = new SpannableStringBuilder(text);
  DynamicDrawableSpan[] styles =
      buf.getSpans(0, buf.length(), DynamicDrawableSpan.class);
  for (DynamicDrawableSpan style : styles) {
    if (style instanceof HorizontalLineSpan
        || style instanceof RescalableImageSpan) {
      int start = buf.getSpanStart(style);
      int end = buf.getSpanEnd(style);
      buf.replace(start, end, "");
    }
  }
  return buf;
}
origin: stackoverflow.com

final TextView textView = (TextView) findViewById(R.id.text);
 final CharSequence text = textView.getText();
 final SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(text);
 final URLSpan[] spans = spannableStringBuilder.getSpans(0, text.length(), URLSpan.class);
 final URLSpan span = spans[0];
 final int start = spannableStringBuilder.getSpanStart(span);
 final int end = spannableStringBuilder.getSpanEnd(span);
 final int flags = spannableStringBuilder.getSpanFlags(span);
 final ClickableSpan clickableSpan = new ClickableSpan() {
   public void onClick(View view) {
     Log.d(TAG, "Clicked: " + span.getURL());
   }
 };
 spannableStringBuilder.setSpan(clickableSpan, start, end, flags);
 spannableStringBuilder.removeSpan(span);
 textView.setText(spannableStringBuilder);
 textView.setLinksClickable(true);
 textView.setMovementMethod(LinkMovementMethod.getInstance());
origin: stackoverflow.com

 public static Spanned removeImageSpanObjects(String inStr) {
  SpannableStringBuilder spannedStr = (SpannableStringBuilder) Html
      .fromHtml(inStr.trim());
  Object[] spannedObjects = spannedStr.getSpans(0, spannedStr.length(),
      Object.class);
  for (int i = 0; i < spannedObjects.length; i++) {
    if (spannedObjects[i] instanceof ImageSpan) {
      ImageSpan imageSpan = (ImageSpan) spannedObjects[i];
      spannedStr.replace(spannedStr.getSpanStart(imageSpan),
          spannedStr.getSpanEnd(imageSpan), "");
    }
  }
  return spannedStr;
}
origin: stackoverflow.com

 protected void makeLinkClickable(SpannableStringBuilder strBuilder, final URLSpan span)
{
  int start = strBuilder.getSpanStart(span);
  int end = strBuilder.getSpanEnd(span);
  int flags = strBuilder.getSpanFlags(span);
  ClickableSpan clickable = new ClickableSpan() {
    public void onClick(View view) {
      Log.d("LipAdapter", span.getURL());
    }
  };
  strBuilder.setSpan(clickable, start, end, flags);
  strBuilder.removeSpan(span);
}
origin: MCMrARM/revolution-irc

private static String getTextWithPasswords(CharSequence seq) {
  SpannableStringBuilder lstr = new SpannableStringBuilder(seq);
  for (PasswordSpan span : lstr.getSpans(0, lstr.length(), PasswordSpan.class)) {
    lstr.replace(lstr.getSpanStart(span), lstr.getSpanEnd(span), span.mPassword);
    lstr.removeSpan(span);
  }
  return lstr.toString();
}
origin: stackoverflow.com

 protected void makeLinkClickable(SpannableStringBuilder strBuilder, final URLSpan span)
{
  int start = strBuilder.getSpanStart(span);
  int end = strBuilder.getSpanEnd(span);
  int flags = strBuilder.getSpanFlags(span);


  ClickableSpan clickable = new ClickableSpan() {
    @Override
    public void onClick(View widget) {
      Log.d("LipAdapter", span.getURL());
    }

    @Override
    public void updateDrawState(TextPaint ds) {
      super.updateDrawState(ds);
    }
  };

  strBuilder.setSpan(clickable, start, end, flags);
  strBuilder.removeSpan(span);
}
origin: stackoverflow.com

// textView.setText("Lucy is very nice. Here is her link. https://www.google.com");
   final String source = "Lucy is very nice. Here is her link. <a href=\"scheme://some.link\">Click</a>";
   final Spanned html = Html.fromHtml(source);
   final SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(html);
   final URLSpan[] spans = spannableStringBuilder.getSpans(0, html.length(), URLSpan.class);
   final URLSpan span = spans[0];
   final int start = spannableStringBuilder.getSpanStart(span);
   final int end = spannableStringBuilder.getSpanEnd(span);
   final int flags = spannableStringBuilder.getSpanFlags(span);
   final ClickableSpan clickableSpan = new ClickableSpan() {
     public void onClick(View view) {
       Log.d(TAG, "Clicked: " + span.getURL());
     }
   };
   spannableStringBuilder.setSpan(clickableSpan, start, end, flags);
   spannableStringBuilder.removeSpan(span);
   textView.setText(spannableStringBuilder);
   textView.setLinksClickable(true);
   textView.setMovementMethod(LinkMovementMethod.getInstance());
origin: freedom10086/Ruisi

private void handleFont(int start, HtmlNode.HtmlAttr attr) {
  if (attr == null) return;
  StyleSpan span;
  Object[] spans = spannedBuilder.getSpans(start, position, StyleSpan.class);
  if (spans != null && spans.length > 0) {
    int pos1 = spannedBuilder.getSpanStart(spans[0]);
    int pos2 = spannedBuilder.getSpanEnd(spans[0]);
    if (pos1 == start && pos2 == position) {//一摸一样位置的同样font
      span = (StyleSpan) spans[0];
      span.updateStyle(attr);
      return;
    }
  }
  setSpan(start, new StyleSpan(attr));
}
origin: square1-io/rich-text-android

@Override
public void write(Parcel dest, int flags) {
  dest.writeString(mSpannableString.toString());
  RichTextSpan[] spans =  getSpans();
  int[] spanStarts = new int[spans.length];
  int[] spanEnds = new int[spans.length];
  int[] spanFlags = new int[spans.length];
  for(int index = 0; index < spans.length; index ++){
    RichTextSpan currentSpan = spans[index];
    spanStarts[index] = mSpannableString.getSpanStart(currentSpan);
    spanEnds[index] = mSpannableString.getSpanEnd(currentSpan);
    spanFlags[index] = mSpannableString.getSpanFlags(currentSpan);
  }
  dest.writeIntArray(spanStarts);
  dest.writeIntArray(spanEnds);
  dest.writeIntArray(spanFlags);
  dest.writeTypedArray(spans, flags);
}
android.textSpannableStringBuildergetSpanEnd

Popular methods of SpannableStringBuilder

  • <init>
  • setSpan
  • append
  • length
  • getSpans
  • toString
  • getSpanStart
  • removeSpan
  • delete
  • replace
  • charAt
  • clear
  • charAt,
  • clear,
  • subSequence,
  • clearSpans,
  • getSpanFlags,
  • valueOf,
  • insert,
  • nextSpanTransition,
  • getChars

Popular in Java

  • Running tasks concurrently on multiple threads
  • startActivity (Activity)
  • addToBackStack (FragmentTransaction)
  • compareTo (BigDecimal)
  • Component (java.awt)
    A component is an object having a graphical representation that can be displayed on the screen and t
  • Window (java.awt)
    A Window object is a top-level window with no borders and no menubar. The default layout for a windo
  • IOException (java.io)
    Signals a general, I/O-related error. Error details may be specified when calling the constructor, a
  • TreeMap (java.util)
    Walk the nodes of the tree left-to-right or right-to-left. Note that in descending iterations, next
  • Manifest (java.util.jar)
    The Manifest class is used to obtain attribute information for a JarFile and its entries.
  • Options (org.apache.commons.cli)
    Main entry-point into the library. Options represents a collection of Option objects, which describ
  • Top 25 Plugins for Webstorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyStudentsTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now