2016-08-08 3 views
0

私は私のプロジェクトでシークバーを実現したい、javascriptのコードがありません:はloadUrlアンドロイドスタジオではJavaScript

 seekBarR.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     int progressChangedValue = 0; 
     WebView myWeb; 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      progressChangedValue = progress; 

      myWeb.loadUrl("javascript:polyhedronGenerator.radius='+progress+'"); 
      myWeb.loadUrl("javascript:polyhedronGenerator.Redraw(0)"); 

     } 

     public void onStartTrackingTouch(SeekBar seekBar) { 
      // TODO Auto-generated method stub 
     } 

     public void onStopTrackingTouch(SeekBar seekBar) { 
      Toast.makeText(nav_two_hard.this, "Seek bar progress is :" + progressChangedValue, 
        Toast.LENGTH_SHORT).show(); 
     } 
     }); 

javascriptのコードは次のとおりです。

polyhedronGenerator.radius=100 
polyhedronGenerator.Redraw(2) 

多面体の半径シークバーの動きによって変わるべきである。

私はこのようなエラーを得た:

8月8日11:18:36.114 26557から26557/com.example.jzhu26.testui E/InputEventReceiver:入力イベントをディスパッチ例外。 08-08 11:18:36.114 26557-26557/com.example.jzhu26.testui MessageQueueコールバックの例外:handleReceiveCallback 08-08 11:18:36.116 26557-26557/com.example.jzhu26 .testui E/MessageQueue-JNI:java.lang.NullPointerException:NULLオブジェクト参照で仮想メソッド 'void android.webkit.WebView.loadUrl(java.lang.String)'を呼び出そうとしました at com.example.jzhu26.testui android.widget.ProgressBar.doRefreshProgressでandroid.widget.SeekBar.onProgressRefresh(SeekBar.java:93) で.nav_two_hard $ 1.onProgressChanged(nav_two_hard.java:96) (ProgressBar.java:1303)android.widgetで 。 ProgressBar.refreshProgress(ProgressBar.java:1315) android.widget.ProgressBar.s android.view.View.dispatchTouchEventでandroid.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:579) でandroid.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:666) でetProgress(ProgressBar.java:1361) ( ViewView.java:9300) android.view.View.View.View.View.View.View.View.DepatchTransformedTouchEvent(ViewGroup。ViewGroup)。 java:2553) (android.view.View.View.View.java:2553) (android.view.View.View.View.View.View.java:2597) android.view.ViewGroup.dispatchTouchEventでandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) でandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2197) (ViewGroup.java:2197) ででandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2197)で android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)で アンドロイドで 。 view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2197) android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)android.view.ViewGroup.dispatchTouchEventでandroid.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553) でandroid.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2197) (ViewGroup.java:2197) ででandroid.view.View.View.View.View.View.View.ControlTransformedTouchEvent(ViewGroup.java:2553) android.view.View.View.View.desktop.dispatchTouchEvent(ViewGroup.java:2197) (android.view.View.View.ViewGroupTransformedTouchEvent(ViewGroup.java:2553) at android)にあります。 view.ViewGroup.dispatchTouchEvent(ViewGroup。java:2197) at com.android.internal.policy.PhoneWindow $ DecorView.superDispatchTouchEvent(PhoneWindow.java:2403) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737) でアンドロイド。 app.Activity.dispatchTouchEvent(Activity.java:2771) android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:63) at com.android.internal.policy.PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow。 java:2364) android.view.View.dispatchPointerEvent(View.java:9520) android.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230) でandroid.view.ViewRootImpl $ ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096) でandroid.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3642) でandroid.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl。 java:3695) android.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3661) at android.view.ViewRootImpl $ AsyncInputStage.forward(ViewRootImpl.java:3787) android.view.ViewRootImpl $ InputStage。 android.view.ViewRootImpl $ AsyncInputStage.apply(ViewRootImpl.java:3844) を適用してください(ViewRootImpl.java:3644) android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3642)android.view.ViewRootImpl $ InputStage.applyでandroid.view.ViewRootImpl $ InputStage.forward(ViewRootImpl.java:3661) でandroid.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3695) (ViewRootImplで。 Javaの:3669)android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3642)android.view.ViewRootImpl.doProcessInputEventsでandroid.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922) で (ViewRootImplで 。 java:5896) android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857) (android.view.ViewRootImpl)$ WindowInputEventReceiver.onInputEvent(ViewRootImpl。 java:6025) (android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) 0835 11:18:36.117 26557-26557/

誰でも私を助けることができますか?ありがとう!

答えて

0

WebViewでインスタンス化するのを忘れてしまった!コンストラクタを使用して次のようにします。

WebView myWeb = new WebView(getApplicationContext()); 
関連する問題