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

How to use
getSpans
method
in
android.text.SpannableStringBuilder

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

origin: nickbutcher/plaid

  @Override
  public <T> T[] getSpans(int queryStart, int queryEnd, Class<T> kind) {
    T[] ret = super.getSpans(queryStart, queryEnd, kind);
    reverse(ret);
    return ret;
  }
}
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

Object[] obj = mSpannableStringBuilder.getSpans(0, mSpannableStringBuilder.length(), ParagraphStyle.class);
for (int i = 0; i < obj.length; i++) {
  int start = mSpannableStringBuilder.getSpanStart(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: google/ExoPlayer

SpannableStringBuilder newCueText = new SpannableStringBuilder(cueText);
int cueLength = newCueText.length();
AbsoluteSizeSpan[] absSpans = newCueText.getSpans(0, cueLength, AbsoluteSizeSpan.class);
RelativeSizeSpan[] relSpans = newCueText.getSpans(0, cueLength, RelativeSizeSpan.class);
for (AbsoluteSizeSpan absSpan : absSpans) {
 newCueText.removeSpan(absSpan);
origin: google/ExoPlayer

@Test
public void testFontSizeWithEmptyValueIsIgnored() throws IOException, SubtitleDecoderException {
 TtmlSubtitle subtitle = getSubtitle(FONT_SIZE_EMPTY_TTML_FILE);
 assertThat(subtitle.getEventTimeCount()).isEqualTo(2);
 List<Cue> cues = subtitle.getCues(10 * 1000000);
 assertThat(cues).hasSize(1);
 SpannableStringBuilder spannable = (SpannableStringBuilder) cues.get(0).text;
 assertThat(String.valueOf(spannable)).isEqualTo("empty");
 assertThat(spannable.getSpans(0, spannable.length(), RelativeSizeSpan.class)).hasLength(0);
 assertThat(spannable.getSpans(0, spannable.length(), AbsoluteSizeSpan.class)).hasLength(0);
}
origin: google/ExoPlayer

@Test
public void testFontSizeWithMissingUnitIsIgnored() throws IOException, SubtitleDecoderException {
 TtmlSubtitle subtitle = getSubtitle(FONT_SIZE_MISSING_UNIT_TTML_FILE);
 assertThat(subtitle.getEventTimeCount()).isEqualTo(2);
 List<Cue> cues = subtitle.getCues(10 * 1000000);
 assertThat(cues).hasSize(1);
 SpannableStringBuilder spannable = (SpannableStringBuilder) cues.get(0).text;
 assertThat(String.valueOf(spannable)).isEqualTo("no unit");
 assertThat(spannable.getSpans(0, spannable.length(), RelativeSizeSpan.class)).hasLength(0);
 assertThat(spannable.getSpans(0, spannable.length(), AbsoluteSizeSpan.class)).hasLength(0);
}
origin: google/ExoPlayer

@Test
public void testFontSizeWithInvalidValueIsIgnored() throws IOException, SubtitleDecoderException {
 TtmlSubtitle subtitle = getSubtitle(FONT_SIZE_INVALID_TTML_FILE);
 assertThat(subtitle.getEventTimeCount()).isEqualTo(6);
 List<Cue> cues = subtitle.getCues(10 * 1000000);
 assertThat(cues).hasSize(1);
 SpannableStringBuilder spannable = (SpannableStringBuilder) cues.get(0).text;
 assertThat(String.valueOf(spannable)).isEqualTo("invalid");
 assertThat(spannable.getSpans(0, spannable.length(), RelativeSizeSpan.class)).hasLength(0);
 assertThat(spannable.getSpans(0, spannable.length(), AbsoluteSizeSpan.class)).hasLength(0);
 cues = subtitle.getCues(20 * 1000000);
 assertThat(cues).hasSize(1);
 spannable = (SpannableStringBuilder) cues.get(0).text;
 assertThat(String.valueOf(spannable)).isEqualTo("invalid");
 assertThat(spannable.getSpans(0, spannable.length(), RelativeSizeSpan.class)).hasLength(0);
 assertThat(spannable.getSpans(0, spannable.length(), AbsoluteSizeSpan.class)).hasLength(0);
 cues = subtitle.getCues(30 * 1000000);
 assertThat(cues).hasSize(1);
 spannable = (SpannableStringBuilder) cues.get(0).text;
 assertThat(String.valueOf(spannable)).isEqualTo("invalid dot");
 assertThat(spannable.getSpans(0, spannable.length(), RelativeSizeSpan.class)).hasLength(0);
 assertThat(spannable.getSpans(0, spannable.length(), AbsoluteSizeSpan.class)).hasLength(0);
}
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: stackoverflow.com

Object[] spans = builder.getSpans(matcher.start(), matcher.end(), ImageSpan.class);
if (spans == null || spans.length == 0) {
  builder.setSpan(new ImageSpan(smiley), matcher.start(), matcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
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: yydcdut/RxMarkdown

/**
 * check whether contains (inline) code syntax
 *
 * @param ssb       the content
 * @param position  start position
 * @param keyLength the checking words' length
 * @return TRUE: contains
 */
public static boolean existCodeSyntax(SpannableStringBuilder ssb, int position, int keyLength) {
  TypefaceSpan[] spans = ssb.getSpans(position, position + keyLength, TypefaceSpan.class);
  return spans.length != 0;
}
origin: yydcdut/RxMarkdown

/**
 * check whether contains image syntax
 *
 * @param ssb       the content
 * @param position  start position
 * @param keyLength the checking words' length
 * @return TRUE: contains
 */
public static boolean existImageSyntax(SpannableStringBuilder ssb, int position, int keyLength) {
  MDImageSpan[] spans = ssb.getSpans(position, position + keyLength, MDImageSpan.class);
  return spans.length != 0;
}
origin: yydcdut/RxMarkdown

/**
 * check whether contains hyper link syntax
 *
 * @param ssb       the content
 * @param position  start position
 * @param keyLength the checking words' length
 * @return TRUE: contains
 */
public static boolean existHyperLinkSyntax(SpannableStringBuilder ssb, int position, int keyLength) {
  URLSpan[] spans = ssb.getSpans(position, position + keyLength, URLSpan.class);
  return spans.length != 0;
}
origin: yydcdut/RxMarkdown

/**
 * check whether exists code block span
 *
 * @param ssb   the text
 * @param start the start position
 * @param end   the end position
 * @return if exists, return true
 */
public static boolean existCodeBlockSpan(@NonNull SpannableStringBuilder ssb, int start, int end) {
  MDCodeBlockSpan[] mdCodeBlockSpans = ssb.getSpans(start, end, MDCodeBlockSpan.class);
  return mdCodeBlockSpans != null && mdCodeBlockSpans.length > 0;
}
origin: Ronak-LM/memoir

private Object getLast(Class<? extends Object> kind) {
  /*
   * This knows that the last returned object from getSpans()
   * will be the most recently added.
   */
  Object[] objs = mResult.getSpans(0, mResult.length(), kind);
  return objs.length == 0 ? null : objs[objs.length - 1];
}
origin: stackoverflow.com

public ImageSpan[] getImageSpans(Spanned original, Class<ImageSpan> sourceType) {
   SpannableStringBuilder result = new SpannableStringBuilder(original);
   ImageSpan[] spans = result.getSpans(0, result.length(), sourceType);
   return spans;
 }
origin: lltvcn/FreeText

private <T> void remove(SpannableStringBuilder sb,Class<T> c){
  T[] spans = sb.getSpans(0,sb.length(), c);
  if(spans!=null){
    for (int i = 0; i < spans.length; i++) {
      sb.removeSpan(spans[i]);
    }
  }
}
origin: linkedin/Spyglass

/**
 * @return the text as an {@link Editable} (note: not a {@link MentionsEditable} and does not contain mentions)
 */
private Editable getTextWithoutMentions() {
  Editable text = getText();
  SpannableStringBuilder sb = new SpannableStringBuilder(text);
  MentionSpan[] spans = sb.getSpans(0, sb.length(), MentionSpan.class);
  for (MentionSpan span: spans) {
    sb.removeSpan(span);
  }
  return sb;
}
origin: freedom10086/Ruisi

  @Override
  public void onImageReady(String source, int start, int end, Drawable d) {
    Image[] is = spannedBuilder.getSpans(start, end, Image.class);
    for (Image i : is) {
      spannedBuilder.removeSpan(i);
    }
    setSpan(start, end, new Image(source, d));
    notify.notifyViewChange();
  }
}
android.textSpannableStringBuildergetSpans

Popular methods of SpannableStringBuilder

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

Popular in Java

  • Running tasks concurrently on multiple threads
  • notifyDataSetChanged (ArrayAdapter)
  • scheduleAtFixedRate (ScheduledExecutorService)
  • getSharedPreferences (Context)
  • Date (java.util)
    A specific moment in time, with millisecond precision. Values typically come from System#currentTime
  • HashMap (java.util)
    HashMap is an implementation of Map. All optional operations are supported.All elements are permitte
  • TimeZone (java.util)
    TimeZone represents a time zone offset, and also figures out daylight savings. Typically, you get a
  • Servlet (javax.servlet)
    Defines methods that all servlets must implement. A servlet is a small Java program that runs within
  • JFrame (javax.swing)
  • Table (org.hibernate.mapping)
    A relational table
  • 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