0
私はアンドロイドアプリでダイアログとしてwebviewを作成し、必要なWebページを読み込むときに閉じようとしています。アクティビティのボタンをクリックするとダイアログが開き、開かれた直後(アクティビティ内)のダイアログがあれば機能しますが、WebViewClientでは常にクラッシュします。ダイアログの作成:WebViewクラスからWebViewを含むダイアログを閉じるには
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1:
dialog = new Dialog(this);
dialog.setContentView(R.layout.webviewl);
dialog.setCanceledOnTouchOutside(false);
webview = (WebView) dialog.findViewById(R.id.vkWebView);
webview.setWebViewClient(wvClforVK);
webview.loadUrl(url);
webview.requestFocus(View.FOCUS_DOWN);
return dialog;
default:
return super.onCreateDialog(id);
}
}
public void showVKDialog(){
dialog = new Dialog(this);
dialog.setContentView(R.layout.webviewl);
dialog.setCanceledOnTouchOutside(false);
webview = (WebView) dialog.findViewById(R.id.vkWebView);
webview.setWebViewClient(wvClforVK);
webview.loadUrl(url);
dialog.show();
}
public void dismissDialog(){
dialog.dismiss();
}
ボタンWebViewClassで
showDialog(1);
にオープン:
//code
@Override
public void onPageFinished (WebView webview, String url){
//lalala some kind of my perfect code.... :)
Activity myActivity = new Activity();
myActivity.dismissDialog();
Web表示のレイアウト:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<WebView
android:id="@+id/vkWebView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>