android.widget.TextView#getText ( )源码实例Demo

下面列出了android.widget.TextView#getText ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android-test   文件: ViewMatchers.java
@Override
public boolean matchesSafely(TextView textView) {
  if (null == expectedText) {
    try {
      expectedText = textView.getResources().getString(resourceId);
      resourceName = textView.getResources().getResourceEntryName(resourceId);
    } catch (Resources.NotFoundException ignored) {
      /* view could be from a context unaware of the resource id. */
    }
  }
  CharSequence actualText;
  switch (method) {
    case GET_TEXT:
      actualText = textView.getText();
      break;
    case GET_HINT:
      actualText = textView.getHint();
      break;
    default:
      throw new IllegalStateException("Unexpected TextView method: " + method.toString());
  }
  // FYI: actualText may not be string ... its just a char sequence convert to string.
  return null != expectedText
      && null != actualText
      && expectedText.equals(actualText.toString());
}
 
源代码2 项目: mentions   文件: CommentsAdapter.java
/**
 * Highlights all the {@link Mentionable}s in the test {@link Comment}.
 */
private void highlightMentions(final TextView commentTextView, final List<Mentionable> mentions) {
    if(commentTextView != null && mentions != null && !mentions.isEmpty()) {
        final Spannable spannable = new SpannableString(commentTextView.getText());

        for (Mentionable mention: mentions) {
            if (mention != null) {
                final int start = mention.getMentionOffset();
                final int end = start + mention.getMentionLength();

                if (commentTextView.length() >= end) {
                    spannable.setSpan(new ForegroundColorSpan(orange), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                    commentTextView.setText(spannable, TextView.BufferType.SPANNABLE);
                } else {
                    //Something went wrong.  The expected text that we're trying to highlight does not
                    // match the actual text at that position.
                    Log.w("Mentions Sample", "Mention lost. [" + mention + "]");
                }
            }
        }
    }
}
 
源代码3 项目: sctalk   文件: IMUIHelper.java
public static void setTextHilighted(TextView textView, String text,SearchElement searchElement) {
    textView.setText(text);
    if (textView == null
            || TextUtils.isEmpty(text)
            || searchElement ==null) {
        return;
    }

    int startIndex = searchElement.startIndex;
    int endIndex = searchElement.endIndex;
    if (startIndex < 0 || endIndex > text.length()) {
        return;
    }
    // 开始高亮处理
    int color =  Color.rgb(69, 192, 26);
    textView.setText(text, BufferType.SPANNABLE);
    Spannable span = (Spannable) textView.getText();
    span.setSpan(new ForegroundColorSpan(color), startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
 
源代码4 项目: Markwon   文件: GifProcessor.java
@Nullable
private static Spannable spannable(@NonNull TextView textView) {
    final CharSequence charSequence = textView.getText();
    if (charSequence instanceof Spannable) {
        return (Spannable) charSequence;
    }
    return null;
}
 
源代码5 项目: zone-sdk   文件: TextViewLinkActivity.java
private void changeColor() {
    TextView textView = (TextView) findViewById(R.id.changeColor);
    textView.getText();
    SpannableStringBuilder ssb = new SpannableStringBuilder(textView.getText());
    ssb.setSpan(new ForegroundColorSpanAni(textView), 0, textView.getText().length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
    textView.setText(ssb);
}
 
源代码6 项目: BaseProject   文件: BaseDialog.java
/**
 * 提取出 给定的一个View的 Text
 * @param mightAsWellTextView 最好是TextView类型的View ^.^
 * @return View上的文本
 */
public CharSequence extractTextOfView(View mightAsWellTextView) {
    if (mightAsWellTextView instanceof TextView) {
        TextView textView = (TextView) mightAsWellTextView;
        return textView.getText();
    }
    return null;
}
 
源代码7 项目: iBeebo   文件: TimeLineUtility.java
public static void addLinks(TextView view) {
    CharSequence content = view.getText();
    view.setText(convertNormalStringToSpannableString(content.toString()));
    if (view.getLinksClickable()) {
        view.setMovementMethod(LongClickableLinkMovementMethod.getInstance());
    }
}
 
源代码8 项目: AsyncProgrammingDemos   文件: TextLogUtil.java
/**
 * 在一个TextView上追加一行日志.
 * @param logTextView
 * @param log
 */
public static void println(TextView logTextView, CharSequence log) {
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss.SSS");
    String timestamp = sdf.format(new Date());

    CharSequence newText = timestamp + ": " + log;
    CharSequence oldText = logTextView.getText();
    if (oldText == null || oldText.length() <= 0) {
        logTextView.setText(newText);
    }
    else {
        logTextView.setText(oldText + "\n" + newText);
    }
}
 
/**
 * Format appropriately the suggested word in {@link #mWordViews} specified by
 * <code>positionInStrip</code>. When the suggested word doesn't exist, the corresponding
 * {@link TextView} will be disabled and never respond to user interaction. The suggested word
 * may be shrunk or ellipsized to fit in the specified width.
 *
 * The <code>positionInStrip</code> argument is the index in the suggestion strip. The indices
 * increase towards the right for LTR scripts and the left for RTL scripts, starting with 0.
 * The position of the most important suggestion is in {@link #mCenterPositionInStrip}. This
 * usually doesn't match the index in <code>suggedtedWords</code> -- see
 * {@link #getPositionInSuggestionStrip(int,SuggestedWords)}.
 *
 * @param positionInStrip the position in the suggestion strip.
 * @param width the maximum width for layout in pixels.
 * @return the {@link TextView} containing the suggested word appropriately formatted.
 */
private TextView layoutWord(final Context context, final int positionInStrip, final int width) {
    final TextView wordView = mWordViews.get(positionInStrip);
    final CharSequence word = wordView.getText();
    if (positionInStrip == mCenterPositionInStrip && mMoreSuggestionsAvailable) {
        // TODO: This "more suggestions hint" should have a nicely designed icon.
        wordView.setCompoundDrawablesWithIntrinsicBounds(
                null, null, null, mMoreSuggestionsHint);
        // HACK: Align with other TextViews that have no compound drawables.
        wordView.setCompoundDrawablePadding(-mMoreSuggestionsHint.getIntrinsicHeight());
    } else {
        wordView.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
    }
    // {@link StyleSpan} in a content description may cause an issue of TTS/TalkBack.
    // Use a simple {@link String} to avoid the issue.
    wordView.setContentDescription(
            TextUtils.isEmpty(word)
                ? context.getResources().getString(R.string.spoken_empty_suggestion)
                : word.toString());
    final CharSequence text = getEllipsizedTextWithSettingScaleX(
            word, width, wordView.getPaint());
    final float scaleX = wordView.getTextScaleX();
    wordView.setText(text); // TextView.setText() resets text scale x to 1.0.
    wordView.setTextScaleX(scaleX);
    // A <code>wordView</code> should be disabled when <code>word</code> is empty in order to
    // make it unclickable.
    // With accessibility touch exploration on, <code>wordView</code> should be enabled even
    // when it is empty to avoid announcing as "disabled".
    wordView.setEnabled(!TextUtils.isEmpty(word)
            || AccessibilityUtils.getInstance().isTouchExplorationEnabled());
    return wordView;
}
 
源代码10 项目: glimmr   文件: TextUtils.java
public void colorTextViewSpan(TextView view, String fulltext,
        String subtext, int color) {
    view.setText(fulltext, TextView.BufferType.SPANNABLE);
    Spannable str = (Spannable) view.getText();
    int i = fulltext.indexOf(subtext);
    try {
        str.setSpan(new ForegroundColorSpan(color), i, i+subtext.length(),
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } catch (Exception e) {
        e.printStackTrace();
        Log.d(TAG, "fulltext: " + fulltext);
        Log.d(TAG, "subtext: " + subtext);
    }
}
 
源代码11 项目: Pix-Art-Messenger   文件: ListSelectionManager.java
private static void startSelection(TextView textView, int start, int end) {
    final CharSequence text = textView.getText();
    if (SUPPORTED && start >= 0 && end > start && textView.isTextSelectable() && text instanceof Spannable) {
        final Spannable spannable = (Spannable) text;
        start = Math.min(start, spannable.length());
        end = Math.min(end, spannable.length());
        Selection.setSelection(spannable, start, end);
        try {
            final Object editor = FIELD_EDITOR != null ? FIELD_EDITOR.get(textView) : textView;
            METHOD_START_SELECTION.invoke(editor);
        } catch (Exception e) {
        }
    }
}
 
源代码12 项目: redgram-for-reddit   文件: CustomClickable.java
@Override
public void onClick(View widget) {

    if(widget instanceof TextView){
        TextView tv = (TextView) widget;
        if(tv.getText() instanceof Spanned){
            Spanned s = (Spanned) tv.getText();
            int start = s.getSpanStart(this);
            int end = s.getSpanEnd(this);
            clickableListener.onClickableEvent(s.subSequence(start, end));
        }
    }
}
 
源代码13 项目: BookLoadingView   文件: JumpingBeans.java
private static void cleanupSpansFrom(TextView tv) {
    if (tv != null) {
        CharSequence text = tv.getText();
        if (text instanceof Spanned) {
            CharSequence cleanText = removeJumpingBeansSpansFrom((Spanned) text);
            tv.setText(cleanText);
        }
    }
}
 
源代码14 项目: FireFiles   文件: AboutActivity.java
private void initControls() {

		int accentColor = ColorUtils.getTextColorForBackground(SettingsActivity.getPrimaryColor(),
				MIN_CONTRAST_TITLE_TEXT);
		TextView logo = (TextView)findViewById(R.id.logo);
		logo.setTextColor(accentColor);
		String header = logo.getText() + getSuffix() + " v" + BuildConfig.VERSION_NAME;
		logo.setText(header);

		TextView action_rate = (TextView)findViewById(R.id.action_rate);
		TextView action_support = (TextView)findViewById(R.id.action_support);
		TextView action_share = (TextView)findViewById(R.id.action_share);
		TextView action_feedback = (TextView)findViewById(R.id.action_feedback);

		action_rate.setOnClickListener(this);
		action_support.setOnClickListener(this);
		action_share.setOnClickListener(this);
		action_feedback.setOnClickListener(this);

		if(Utils.isOtherBuild()){
			action_rate.setVisibility(View.GONE);
			action_support.setVisibility(View.GONE);
		} else if(DocumentsApplication.isTelevision()){
			action_share.setVisibility(View.GONE);
			action_feedback.setVisibility(View.GONE);
		}
	}
 
源代码15 项目: datmusic-android   文件: U.java
public static void stripUnderlines(TextView textView) {
    Spannable s = (Spannable) textView.getText();
    URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
    for(URLSpan span : spans) {
        int start = s.getSpanStart(span);
        int end = s.getSpanEnd(span);
        s.removeSpan(span);
        span = new URLSpanNoUnderline(span.getURL());
        s.setSpan(span, start, end, 0);
    }
    textView.setText(s);
}
 
源代码16 项目: AndroidChromium   文件: InfoBar.java
@Override
public CharSequence getAccessibilityText() {
    if (mView == null) return "";
    TextView messageView = (TextView) mView.findViewById(R.id.infobar_message);
    if (messageView == null) return "";
    return messageView.getText() + mContext.getString(R.string.bottom_bar_screen_position);
}
 
源代码17 项目: RichText   文件: ImageTarget.java
void resetText() {
    TextView tv = textViewWeakReference.get();
    if (tv != null) {
        CharSequence cs = tv.getText();
        tv.setText(cs);
    }
}
 
源代码18 项目: commcare-android   文件: QuestionWidget.java
private void stripUnderlines(TextView textView) {
    Spannable s = (Spannable)textView.getText();
    URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
    for (URLSpan span : spans) {
        int start = s.getSpanStart(span);
        int end = s.getSpanEnd(span);
        s.removeSpan(span);
        span = new URLSpanNoUnderline(span.getURL());
        s.setSpan(span, start, end, 0);
    }
    textView.setText(s);
}
 
源代码19 项目: android-discourse   文件: UrlImageGetter.java
@Override
public void onResponse(ImageContainer response, boolean isImmediate) {
    if (mTextView.getTag(R.id.poste_image_getter) == UrlImageGetter.this && response.getBitmap() != null) {
        BitmapDrawable drawable = new BitmapDrawable(mRes, response.getBitmap());
        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
        String src = response.getRequestUrl();
        // redraw the image by invalidating the container
        // 由于下面重新设置了ImageSpan,所以这里invalidate就不必要了吧
        // urlDrawable.invalidateSelf();
        // UrlImageGetter.this.mTextView.invalidate();

        // TODO 这种方式基本完美解决显示图片问题, blog?
        // 把提取到下面显示的图片在放出来? 然后点击任何图片 进入到 帖子图片浏览界面。。?
        TextView v = UrlImageGetter.this.mTextView;
        CharSequence text = v.getText();
        if (!(text instanceof Spannable)) {
            return;
        }
        Spannable spanText = (Spannable) text;
        @SuppressWarnings("unchecked") ArrayList<String> imgs = (ArrayList<String>) v.getTag(R.id.poste_image_data);
        ImageSpan[] imageSpans = spanText.getSpans(0, spanText.length(), ImageSpan.class);
        L.i("%b X Recycled %b src: %s", isImmediate, response.getBitmap().isRecycled(), src);
        for (ImageSpan imgSpan : imageSpans) {
            int start = spanText.getSpanStart(imgSpan);
            int end = spanText.getSpanEnd(imgSpan);
            L.i("%d-%d :%s", start, end, imgSpan.getSource());
            String url = imgSpan.getSource();
            url = checkUrl(url);
            if (src.equals(url)) {
                spanText.removeSpan(imgSpan);
                ImageSpan is = new ImageSpan(drawable, src, ImageSpan.ALIGN_BASELINE);
                spanText.setSpan(is, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
            if (imgs != null && imgs.contains(src)) {
                ImageClickableSpan ics = new ImageClickableSpan(src);
                spanText.setSpan(ics, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }

        }
        v.setText(spanText);
    }

}
 
Builder(int id, @Nullable ViewHierarchyElementAndroid parent, View fromView) {
  // Bookkeeping
  this.id = id;
  this.parentId = (parent != null) ? parent.getId() : null;

  this.drawingOrder = null;

  // API 16+ properties
  this.scrollable = AT_16 ? fromView.isScrollContainer() : null;

  // API 11+ properties
  this.backgroundDrawableColor =
      (AT_11 && (fromView != null) && (fromView.getBackground() instanceof ColorDrawable))
          ? ((ColorDrawable) fromView.getBackground()).getColor()
          : null;

  // Base properties
  this.visibleToUser = ViewAccessibilityUtils.isVisibleToUser(fromView);
  this.className = fromView.getClass().getName();
  this.accessibilityClassName = null;
  this.packageName = fromView.getContext().getPackageName();
  this.resourceName =
      (fromView.getId() != View.NO_ID)
          ? ViewAccessibilityUtils.getResourceNameForView(fromView)
          : null;
  this.contentDescription = SpannableStringAndroid.valueOf(fromView.getContentDescription());
  this.enabled = fromView.isEnabled();
  if (fromView instanceof TextView) {
    TextView textView = (TextView) fromView;
    // Hint text takes precedence if no text is present.
    CharSequence text = textView.getText();
    if (TextUtils.isEmpty(text)) {
      text = textView.getHint();
    }
    this.text = SpannableStringAndroid.valueOf(text);
    this.textSize = textView.getTextSize();

    this.textColor = textView.getCurrentTextColor();
    this.typefaceStyle =
        (textView.getTypeface() != null) ? textView.getTypeface().getStyle() : null;
  } else {
    this.text = null;
    this.textSize = null;
    this.textColor = null;
    this.typefaceStyle = null;
  }

  this.importantForAccessibility = ViewAccessibilityUtils.isImportantForAccessibility(fromView);
  this.clickable = fromView.isClickable();
  this.longClickable = fromView.isLongClickable();
  this.focusable = fromView.isFocusable();
  this.editable = ViewAccessibilityUtils.isViewEditable(fromView);
  this.canScrollForward =
      (ViewCompat.canScrollVertically(fromView, 1)
          || ViewCompat.canScrollHorizontally(fromView, 1));
  this.canScrollBackward =
      (ViewCompat.canScrollVertically(fromView, -1)
          || ViewCompat.canScrollHorizontally(fromView, -1));
  this.checkable = (fromView instanceof Checkable);
  this.checked = (fromView instanceof Checkable) ? ((Checkable) fromView).isChecked() : null;
  this.hasTouchDelegate = (fromView.getTouchDelegate() != null);
  this.touchDelegateBounds = ImmutableList.of(); // Unavailable from the View API
  this.boundsInScreen = getBoundsInScreen(fromView);
  this.nonclippedHeight = fromView.getHeight();
  this.nonclippedWidth = fromView.getWidth();
  this.actionList = ImmutableList.of(); // Unavailable from the View API
}
 
 方法所在类
 同类方法