WebView
のウェブサイトでアプリを実行しようとしていますが、私のアプリを閉じるエラーNullPointerException
があります。私はそれがnull
の値を使用していることがわかりました。 ProgressDialog
のNullPointerExceptionを回避するためにコードを変更するにはどうすればよいですか?ProgressDialogでNullPointerExceptionが発生しました
CODE
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private ProgressDialog progressDialog;
private class MyWebviewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().endsWith("ugb.edu.sv")) {
//open url contents in webview
return false;
} else {
//here open external links in external browser or app
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
view.getContext().startActivity(intent);
return true;
}
}
// Progress Dialog
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if (progressDialog == null) {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setTitle("Please wait...");
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
progressDialog.show();
}
}
public void onPageFinished(WebView view, String url) {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
}
}
Logcatエラーが
W/System.err: java.lang.NullPointerException
W/System.err: at sv.edu.ugb.ugbapp.MainActivity$MyWebviewClient.onPageFinished(MainActivity.java:241)
W/System.err: at com.android.webview.chromium.WebViewContentsClientAdapter.onPageFinished(WebViewContentsClientAdapter.java:455)
W/System.err: at com.android.org.chromium.android_webview.AwContentsClient$AwWebContentsObserver.didNavigateMainFrame(AwContentsClient.java:93)
W/System.err: at com.android.org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err: at com.android.org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:24)
W/System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err: at android.os.Looper.loop(Looper.java:136)
W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5426)
W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
W/System.err: at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
W/System.err: at dalvik.system.NativeStart.main(Native Method)
A/libc: Fatal signal 6 (SIGABRT) at 0x00006412 (code=-6), thread 25618 (.edu.ugb.ugbapp)
onPageFinishedに追加した場合(progressDialog = NULL && progressDialog.isShowing()!){ – Pavya
場合(ヌル= progressDialog && progressDialog.isShowing()!){ progressDialog.dismiss()。 progressDialog = null; } –