Изменение цвета гиперссылки в AlertDialog

Нормальное это поведение не драматично, но на Samsung Galaxy S по умолчанию AlertDialog фон синий, и нормальная отформатированная ссылка (синяя) исчезает. К сожалению, приведенный ниже код не меняет цвет ссылки.

У кого-нибудь есть идея?

public void showClickableDialog(String title, String msg) {
    final SpannableString s = new SpannableString(msg);
    Linkify.addLinks(s, Linkify.ALL);

    final AlertDialog d = new AlertDialog.Builder(mContext)
            .setPositiveButton(android.R.string.ok, null).setIcon(
                    R.drawable.logo).setTitle(title).setMessage(s).create();

    d.show();

    // Make the textview clickable. Must be called after show()
    TextView textView = ((TextView) d.findViewById(android.R.id.message));
    // Next Line unfortunately does nothing
    textView.setTextColor(Color.MAGENTA);
    textView.setBackgroundColor(Color.BLACK);
    textView.setMovementMethod(LinkMovementMethod.getInstance());

}

Ответы

Ответ 1

У меня есть следующее в моем style.xml, чтобы сделать ссылку оранжевой:

<item name="android:textColorLink">#FF9900</item>

Итак, я предполагаю, что в коде вам просто нужно это сделать (по какой-то причине имя несовместимо с свойством XML):

textView.setLinkTextColor(Color.MAGENTA);