android webview CustomView onHideCustomView nullpointerexception

crasy

Hi i'm making an android Web View app but i have error.

how can i fix this error??

please help me.

WebView myWebView;
private MyWebChromeClient mWebChromeClient = null;
private View mCustomView;
private RelativeLayout mContentView;
private FrameLayout mCustomViewContainer;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
FrameLayout.LayoutParams LayoutParameters = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,
        FrameLayout.LayoutParams.MATCH_PARENT);

...

private class MyWebChromeClient extends WebChromeClient {

public void onHideCustomView() {
        if (mCustomView == null) {
            return;
        } else {
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
            // Hide the custom view.
            mCustomView.setVisibility(View.GONE);
            // Remove the custom view from its container.
            mCustomViewContainer.removeView(mCustomView);
            mCustomView = null;
            mCustomViewContainer.setVisibility(View.GONE);
            mCustomViewCallback.onCustomViewHidden();
            // Show the content view.
            mContentView.setVisibility(View.VISIBLE);
            super.onHideCustomView();
        }
    }
}

public boolean onKeyDown(int key, KeyEvent event) {
    if ((mCustomViewContainer != null)&&(key == KeyEvent.KEYCODE_BACK)) {
        mWebChromeClient.onHideCustomView();
        return true;
    }
    else if((key == KeyEvent.KEYCODE_BACK)&&myWebView.canGoBack()){
        myWebView.goBack();
        return true;
    }
    return super.onKeyDown(key, event);
}

Log Cat

11-12 19:30:56.175  20071-20085/com.bayabro.bayabro V/MediaPlayer﹕ callback application
11-12 19:30:56.175  20071-20085/com.bayabro.bayabro V/MediaPlayer﹕ back from callback
11-12 19:30:56.670  20071-20071/com.bayabro.bayabro D/AndroidRuntime﹕ Shutting down VM
11-12 19:30:56.670  20071-20071/com.bayabro.bayabro W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x416992a0)
11-12 19:30:56.670  20071-20071/com.bayabro.bayabro E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at com.bayabro.bayabro.MyActivity.onKeyDown(MyActivity.java:169)
            at android.view.KeyEvent.dispatch(KeyEvent.java:2705)
            at android.app.Activity.dispatchKeyEvent(Activity.java:2431)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2028)
            at android.view.ViewRootImpl.deliverKeyEventPostIme(ViewRootImpl.java:3852)
            at android.view.ViewRootImpl.handleImeFinishedEvent(ViewRootImpl.java:3800)
            at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:2935)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4921)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
            at dalvik.system.NativeStart.main(Native Method)
11-12 19:30:57.175  20071-20086/com.bayabro.bayabro V/MediaPlayer﹕ message received msg=3, ext1=63, ext2=0
Pedro Oliveira

myWebView is never initialized therefor is null at &&myWebView.canGoBack().

Make sure you initialize myWebView by calling myWebView = (WebView) findViewById(R.id.webview)

To avoid NPE:

else if(myWebView != null && key == KeyEvent.KEYCODE_BACK && myWebView.canGoBack()){
    myWebView.goBack();
    return true;
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

android webview CustomView onHideCustomView nullpointerexception

分類Dev

CustomViewのアダプターのNullPointerException

分類Dev

Android:OnCreateにCustomViewを追加

分類Dev

Android WebView

分類Dev

Android WebView

分類Dev

Android using vector drawable for image in customview with android < 5

分類Dev

Android MediaRecorder NullPointerException

分類Dev

Android BottomSheetBehavior setState()NullPointerException

分類Dev

android MediaPlayer NullPointerException

分類Dev

Android ArrayAdapter NullPointerException getID

分類Dev

Android NullPointerException + GetDatabaseLocked

分類Dev

Android:findViewById NullpointerException

分類Dev

Android NullPointerException Error Message

分類Dev

Android onClickListener NullPointerException

分類Dev

nullpointerexception on launcher? android

分類Dev

android bindService()NullPointerException

分類Dev

android bindService()NullPointerException

分類Dev

NullPointerException onCreate()Android Studio

分類Dev

Android AIDL iBinder NullPointerException

分類Dev

NullPointerException Android getContext()

分類Dev

ImageSwitcher Android NullPointerException

分類Dev

Android webview slow

分類Dev

getUserMedia Android Webview Ionic

分類Dev

adding ReactJS in android Webview

分類Dev

Xamarin Android Webview Javascript

分類Dev

Android WebView localStorage

分類Dev

Add webview into linearlayout android

分類Dev

Android webview loadData

分類Dev

WebView Methods is not called in android