【问题标题】:How to put a standard xml page inside AlertDialog - Android如何将标准 xml 页面放入 AlertDialog - Android
【发布时间】:2016-10-13 18:32:25
【问题描述】:

我需要在 Android AlertDialog 中查看标准 xml 文件的内容。

让我们考虑一个标准的 xml 页面,它可以由任何互联网浏览器打开,包含一些格式化的文本,意思是用一些项目符号点、一些白行等格式化......(见下面的例子)。

我想在 AlertDialog 中查看标准 xml 页面的内容。

通常我通过代码打开一个 AlertDialog:

AlertDialog.Builder myAlertDialogBu​​ilder = new AlertDialog.Builder(this); myAlertDialogBu​​ilder.setTitle(myTitle); myAlertDialogBu​​ilder.setMessage(myMessage); myAlertDialogBu​​ilder.setPositiveButton(myPositiveButton), 对话框提示点击监听器); myAlertDialogBu​​ilder.show();

我的目标是使用 xml 文件的格式来代替字符串“myMessage”,而不是字符串“myMessage”,这意味着格式化例如相同的项目符号点、相同的白行等... (见下面的例子)。

为了清楚起见,我强调标准 xml 文件不是 Android xml 布局,而是类似于以下内容:

<!DOCTYPE html>
<html>

<head>
<meta title="Manuale d'uso"> 
<meta charset="ANSI"> 
</head>

<body>

<a name="cap4"><h2><font color="blue">Utilizzo</font></h2></a>

<p>
    L’utilizzo dell'applicazione è molto intuitivo.
</p>

<p>
    Indicazioni di carattere generale sui colori ....:
    <ul style="list-style-type:circle">
        <li> Le icone in azzurro ..... </li>
        <li> Le icone in colore grigio .... </li>
        <li> Le icone in colore verde ..... </li>
        <li> Le scritte in colore blu ..... </li>
    </ul>
</p>

</body>
</html>

提前谢谢你

【问题讨论】:

  • 使用网络视图?

标签: java android xml android-alertdialog


【解决方案1】:

试试这个代码

   AlertDialog.Builder alert = new AlertDialog.Builder(this);
    alert.setTitle("Title here");

    WebView wv = new WebView(this);
    wv.loadData(<YOURHTML_STING>, "text/html; charset=UTF-8", null);


    alert.setView(wv);
    alert.setNegativeButton("Close", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int id) {
            dialog.dismiss();
        }
    });
    alert.show();

【讨论】:

  • 您好,谢谢。只有一个问题。 loadData 需要一个字符串 (),而我有一个 inputStream(我在资产中有我的 xml 文件,我可以访问它来获取 InputStream。我可以将 InputStream 传递给 loadData 吗?
  • 已解决!刚刚使用:'vw.loadUrl("file:///android_asset/" + nomefile)' 而不是 'wv.loadData(, "text/html; charset=UTF-8", null);'跨度>
【解决方案2】:

您需要创建一个自定义警报窗口并在警报窗口内使用 Webview 并将您的 xml 文件加载到该 webview。

另一种方法是,您可以使用 html 正文创建一个字符串变量,并将此字符串变量设置为您的 myAlertDialogBu​​ilder.setMessage(StringVariable),例如:-

String xmlContentStr = Html.fromHtml("<p>L’utilizzo dell'applicazione è molto intuitivo.</p>");

我认为它对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-18
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多