如何使用警报对话框生成器在弹出框中显示 Html 格式的文本?

发布于 2024-12-19 20:14:51 字数 213 浏览 3 评论 0原文

我使用 android 警报对话框生成器将一些用户消息(字符串)作为弹出框显示给用户。

现在,我的要求是消息框应该能够支持该消息的 HTML 格式。包括,这个用户消息中可能会返回一个URL/链接。选择此链接应将当前应用程序置于后台并弹出手机浏览器,并将用户带到链接中的 URL。关闭浏览器将使应用程序返回前台。

我该怎么做?我可以使用相同的警报对话框生成器或任何其他可用的选择吗?

I have using android alert dialog builder to display the some user message(String) as a pop up box to the user.

Now, My requirement is the message box should be able to support HTML format for this message. Including, there may be a URL/link returned in this user message. Selecting this link should put the current application in the background and popup the phone’s browser and take the user to URL that was in the link. Closing the browser would brings application back to the foreground.

How can I do this? Can i use the same alert dialog builder or any other choice available?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

深居我梦 2024-12-26 20:14:51

如果给定的字符串包含,以上所有答案都不会删除 html 标签,等等,我尝试删除所有标签,这对我来说效果很好

AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setTitle("Title");

LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog, null);

TextView text = (TextView) layout.findViewById(R.id.text);
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setText(Html.fromHtml("<b>Hello World</b> This is a test of the URL <a href=http://www.example.com> Example</a><p><b>This text is bold</b></p><p><em>This text is emphasized</em></p><p><code>This is computer output</code></p><p>This is<sub> subscript</sub> and <sup>superscript</sup></p>";));
builder.setView(layout);
AlertDialog alert = builder.show();

,custom_dialog 会像这样;

<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:textColor="#FFF"
          />

上面的代码将删除所有 html 标签,并将示例显示为可点击的 URL,并在指定的 html 格式文本中显示所有其他标签。

All the above answer will not remove html tag like , etc if the given string contains, I tried to remove all the tags, and this is work fine for me

AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setTitle("Title");

LayoutInflater inflater = (LayoutInflater) ctx.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_dialog, null);

TextView text = (TextView) layout.findViewById(R.id.text);
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setText(Html.fromHtml("<b>Hello World</b> This is a test of the URL <a href=http://www.example.com> Example</a><p><b>This text is bold</b></p><p><em>This text is emphasized</em></p><p><code>This is computer output</code></p><p>This is<sub> subscript</sub> and <sup>superscript</sup></p>";));
builder.setView(layout);
AlertDialog alert = builder.show();

and the custom_dialog would be like;

<TextView android:id="@+id/text"
          android:layout_width="wrap_content"
          android:layout_height="fill_parent"
          android:textColor="#FFF"
          />

The above code will remove all the html tag and shows Example as Click able URL all others in the specified html formatting text.

森末i 2024-12-26 20:14:51

创建自定义警报对话框,点击此链接

1.创建一个布局你的

对话在该布局中创建一个文本视图

b.使用 setText(Html.fromHtml(此处为源文本))
然后

Linkify.addLinks(Textview, Linkify.ALL)

在警报对话框中执行 2.inflate 这个布局,如教程中所示

create a custom alert dialog , follow this link

1.create a layout for your dialog

a. create a textview in that layout

b. Use setText(Html.fromHtml(Source text here))
then do

Linkify.addLinks(Textview, Linkify.ALL)

2.inflate this layout in your alert dialog as shown in the tutorial

℉服软 2024-12-26 20:14:51

尝试使用 android.text.Spannable< 中的 Spannable 类/代码>

Spannable span = Spannable.Factory.getInstance().newSpannable("html text");
textView.setText(span);

Try using the Spannable class from android.text.Spannable

Spannable span = Spannable.Factory.getInstance().newSpannable("html text");
textView.setText(span);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文