在AlertDialog中更改超链接的颜色

fmo*_*fmo 3 android

Normaly这种行为并不引人注目,但在三星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());

}
Run Code Online (Sandbox Code Playgroud)

Dan*_*yer 9

我有以下内容,style.xml以使链接橙色:

<item name="android:textColorLink">#FF9900</item>
Run Code Online (Sandbox Code Playgroud)

所以我假设在代码中你只需要这样做(由于某种原因,方法名称与XML属性不一致):

textView.setLinkTextColor(Color.MAGENTA);
Run Code Online (Sandbox Code Playgroud)