我正在尝试将assets文件夹中的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>
调用Dialog就像这样。
RobozoxDialog d = new RobozoxDialog(MainActivity.this);
d.setSource("Test", "file:///android_asset/test.html");
d.showRobozoxDialog();
但是得到错误并且无法解决问题。当我在主要活动xml的webview中显示html文件时,它正在显示。但是当试图在对话框webview中显示它停止工作..
答案 0 :(得分:1)
我是通过使用LayoutInflater Code来完成的。
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();
答案 1 :(得分:0)
my.findViewById(R.id.webview_dialog)