0

我正在尝试将资产文件夹中的 html 文件显示到自定义对话框中。但得到错误。我正在使用以下代码。

我的自定义对话框类

public class RobozoxDialog extends Activity{
Dialog my;
public RobozoxDialog(Context theContext){
    my= new Dialog(theContext);
}
public void showRobozoxDialog(){
    my.show();
}
public void setSource(String title,String url) {

    WebView myWebView = (WebView) findViewById(R.id.webview_dialog);
    myWebView.loadUrl(url); 
    my.setTitle(title);
}
}

自定义对话框 XML

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview_dialog"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</WebView>

像这样调用对话框。

RobozoxDialog d = new RobozoxDialog(MainActivity.this);
d.setSource("Test", "file:///android_asset/test.html");
d.showRobozoxDialog();

但是出现错误并无法解决问题。当我在主要活动 xml 的 webview 中显示 html 文件时,它正在显示。但是当尝试在对话框 webview 中显示时它停止工作..

4

2 回答 2

1

我通过使用 LayoutInflater 来完成此操作 代码如下..

    LayoutInflater li = LayoutInflater.from(theContext);
    View promptsView = li.inflate(R.layout.dialog_layout, null);

    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
            theContext);
    alertDialogBuilder.setTitle("Registration");

    alertDialogBuilder.setView(promptsView);

    final WebView webview = (WebView) promptsView
            .findViewById(R.id.webview_dialog);
    webview.loadUrl("file:///android_asset/test.html");
    final AlertDialog alertDialog = alertDialogBuilder.create();

    alertDialog.show();
于 2012-11-07T06:04:38.860 回答
0
  1. 始终将 logcat 输出添加到您的问题中。我们不知道您遇到了什么错误。
  2. 你从来没有为你的对话框设置任何布局。请参阅此处如何创建自定义对话框。
  3. 您尝试从 Activity 而不是 Dialog 获取 WebView。尝试my.findViewById(R.id.webview_dialog)
于 2012-11-07T05:09:11.393 回答