尝试在可扩展列表中加粗Android Studio中的特定文本

尝试在可扩展列表中加粗Android Studio中的特定文本,android,android-studio,bold,Android,Android Studio,Bold,非常新的编码,只是几个星期后学习工作在这里和那里。我正在尝试建立一个应用程序,并取得了进展,但遇到了困难。我只希望在我的子项中有两个词是粗体的。有什么帮助吗?这在我的java文件中,包含可扩展列表的详细信息 Appliances.add("The first word of each paragraph\nis what I would like to be bold faced"); sb应该产生字符串-每个段落的第一个单词,我想用粗体字 然后根据需要使用字符串: Appliances.a

非常新的编码,只是几个星期后学习工作在这里和那里。我正在尝试建立一个应用程序,并取得了进展,但遇到了困难。我只希望在我的子项中有两个词是粗体的。有什么帮助吗?这在我的java文件中,包含可扩展列表的详细信息

 Appliances.add("The first word of each paragraph\nis what I would like to be bold faced");
sb
应该产生字符串-每个段落的第一个单词,我想用粗体字

然后根据需要使用字符串:

Appliances.add(sb.toString());
sb
应该产生字符串-每个段落的第一个单词,我想用粗体字

然后根据需要使用字符串:

Appliances.add(sb.toString());

有一个最简单的解决方案,只需在android studio的“res”文件夹下的value文件夹的string.xml文件中添加字符串

要使两个单词加粗,只需将此字符串添加到上面的stirng.xml文件中

<b>The</b> first word of each paragraph\nis <b>what</b> I would like to be bold faced

有一个最简单的解决方案,只需在android studio的“res”文件夹下的value文件夹的string.xml文件中添加字符串

要使两个单词加粗,只需将此字符串添加到上面的stirng.xml文件中

<b>The</b> first word of each paragraph\nis <b>what</b> I would like to be bold faced
在下面的类中使用,例如,
yourTextView.setText(新RichTextView(句子).setBold(wordWichYouwantBold))

你可以在里面找到另一个有用的方法:)享受吧

在下面的类中使用,例如,
yourTextView.setText(新RichTextView(句子).setBold(wordWichYouwantBold))

你可以在里面找到另一个有用的方法:)享受吧

最佳解决方案在这里:最佳解决方案在这里:
import android.graphics.Typeface;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ClickableSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.RelativeSizeSpan;
import android.text.style.StrikethroughSpan;
import android.text.style.StyleSpan;
import android.text.style.URLSpan;
import android.view.View;

/**
 * Created by RajeshKushvaha on 19-11-16
 */


//.setText(text, TextView.BufferType.SPANNABLE); to textView if not work
public class RichTextView extends SpannableString {
private String syntax;

public RichTextView(String syntax) {
    super(syntax);
    this.syntax = syntax;
}

public RichTextView setTextColor(String word, int color) {
    setSpan(new ForegroundColorSpan(color), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

public RichTextView setSize(String word, float howMuch) {
    setSpan(new RelativeSizeSpan(howMuch), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

public RichTextView setStrikeOut(String word) {
    setSpan(new StrikethroughSpan(), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

public RichTextView setUrl(String word, String redirectUrl) {
    setSpan(new URLSpan(redirectUrl), syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

public RichTextView setBold(String word) {
    StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
    setSpan(boldSpan, syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

//setMovementMethod(LinkMovementMethod.getInstance()); after or before call
public RichTextView setClickable(String word, final setOnLinkClickListener listener) {
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View view) {
            if (listener != null) {
                listener.onLinkClicked();
            }
        }
    };
    setSpan(clickableSpan, syntax.indexOf(word), syntax.indexOf(word) + word.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    return this;
}

public interface setOnLinkClickListener {
    public void onLinkClicked();
}
}