添加链接到alertdialog文本android

Red*_*ath 1 android hyperlink android-alertdialog

我正在创建一个alertdialog,在消息中我放了一个String.该字符串带有一些我希望将它们作为链接的文本,因此当它们显示在对话框中时,用户可以单击它们并转到其他视图.让我告诉你一个我想要的例子:

public class Activity extends FragmentActivity{

(...)

    public void myMethod(){
        String message = "Some links: link1, link2, link3";
        AlertDialog.Builder builder = new AlertDialog.Builder(this)
        builder.setTitle("This is a title");
        builder.setMessage(message);
        builder.setCancelable(true);
        builder.setOnCancelListener(onCancelListener);
        builder.create().show();
    }
}
Run Code Online (Sandbox Code Playgroud)

我想对link1,link2和link3做一些事情,所以当它们显示在对话框中时,它们显示为链接.然后,当用户点击link1时,会显示一个新活动; 当点击链接2时,会显示另一个视图,并且与link3相同.

我希望有一个onlinkclicklistener或类似的东西,所以我在用户点击链接时捕获.

有关如何做到这一点的任何想法?我希望你能理解我想要的东西:)

小智 7

public void myMethod(){
        String link1 = "<a href=\"http://www.google.com\">http://www.google.com</a>";
        String message = "Some links: "+link1+"link1, link2, link3";
        Spanned myMessage = Html.fromHtml(message);


        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("This is a title");
        builder.setMessage(myMessage);
        builder.setCancelable(true);
        AlertDialog alertDialog = builder.create();
        alertDialog.show();
        TextView msgTxt = (TextView) alertDialog.findViewById(android.R.id.message);
        msgTxt.setMovementMethod(LinkMovementMethod.getInstance());
    }
Run Code Online (Sandbox Code Playgroud)