如何加粗AlertDialog中使用的CharSequence中的一项?

use*_*916 2 java android android-alertdialog

只是一个简单的问题.我有一个警告对话框弹出窗口,为用户提供一个简短的选项列表.

我希望其中一个项目显示为粗体.这是我用于选项列表的基本代码.我希望"option1"是粗体,所有其他选项都是常规的.有没有办法在不使用自定义文本视图的情况下实现此目的?

CharSequence options[] = new CharSequence[] {"option1", "option2", "option3"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick an option");
builder.setItems(options, new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        // my actions
    }
});
builder.show();
Run Code Online (Sandbox Code Playgroud)

vin*_*ius 7

你可以做到SpannableString:

String b = "boldOption";
SpannableString boldOption = new SpannableString(b);
boldOption.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, b.length(),0);
CharSequence options[] = new CharSequence[] {boldOption, "option2", "option3"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Pick an option");
builder.setItems(options, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
    // my actions
}
});
builder.show();
Run Code Online (Sandbox Code Playgroud)