0

我想单击 AlertDialog 显示的文本的某些部分并开始一个新活动。我只是不知道这是否可能。这是我的代码示例

case R.id.about:
        final AlertDialog d = new AlertDialog.Builder(this)
        .setPositiveButton(android.R.string.ok, null)
        .setMessage(Html.fromHtml(getResources().getString(R.string.infoAuthor)+" <br> <a href=\"https://www.youtube.com">click here for help</a>"))
        .create();
        d.show();
        // Make the textview clickable. Must be called after show()   
        ((TextView)d.findViewById(android.R.id.message)).setMovementMethod(LinkMovementMethod.getInstance());
4

1 回答 1

0

与其直接设置 AlertDialog 的消息,不如创建一个 TextView 并在其上设置 HTML 和 LinkMovementMethod。然后AlertDialog.Builder#setView()用这个 TextView 调用。使用您的代码的示例:

case R.id.about:
        TextView tv = new TextView(this);
        tv.setText(Html.fromHtml(getResources().getString(R.string.infoAuthor)+" <br> <a href=\"https://www.youtube.com">click here for help</a>");
        tv.setMovementMethod(LinkMovementMethod.getInstance());

        final AlertDialog d = new AlertDialog.Builder(this)
        .setPositiveButton(android.R.string.ok, null)
        .setView(tv);
        .create();
        d.show(getFragmentManager, "tag");
于 2013-02-01T18:53:41.177 回答