3

ボタンを押すと呼び出されるクラスがあります。背景として使用される .xml ファイルは単なる黒い画面です。アプリケーションを実行すると、次のエラーが発生します。

FATAL EXCEPTION: main
java.lang.NullPointerException
  at com.synlight_development.tattoo_it.Menu$2.onClick(Menu.java:71)
  at android.view.View.performClick(View.java:2532)
  at android.view.View$PerformClick.run(View.java:9293)
  at android.os.Handler.handleCallback(Handler.java:587)
  at android.os.Handler.dispatchMessage(Handler.java:92)
  at android.os.Looper.loop(Looper.java:150)
  at android.app.ActivityThread.main(ActivityThread.java:4263)
  at java.lang.reflect.Method.invokeNative(Native Method)
  at java.lang.reflect.Method.invoke(Method.java:507)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  at dalvik.system.NativeStart.main(Native Method)
4

2 に答える 2

4

ウィンドウの下部に表示されるsurfaceViewのデフォルトのためです。

これを試して

   v.setZOrderOnTop(true);  //it puts surfaceview to top of your window.

または SView クラスでも、コンストラクターなどでこれらのパラメーターを設定します。

   setZOrderOnTop(true); 

GlSurfaceView を使用する場合。コンストラクタでこれを試してください、

   setEGLConfigChooser(8,8,8,8,16,0);
   getHolder().setFormat(PixelFormat.TRANSLUCENT);

そのおかげで、表面ビューが透明になります。

surfaceView をウィンドウの中間層に配置しようとすると、これよりも難しくなります

   surfaceView.setZOrderMediaOverlay(true);

また、surfaceview には別の surfaceview が必要なため、黒い画面が表示されました。私はこれを解決し、別のsurfaceViewを作成します(CameraViewなどを使用したい場合があります)。描画された背景画像、および他のsurfaceViewがその上に表示され、そのようなウィンドウの上に別のビューを追加します。

1.レイヤー -> backgroundDrawnSurfaceView

2.レイヤー(中層)→myrealSurfaceView

3.レイヤー -> 別のビュー。

于 2012-11-07T09:24:41.590 に答える
0

問題を編集しました

まず、SView アクション リスナー自体を追加します。その後、エディター アクティビティ onCreate で、onTouch リスナーを SView、エディターに追加します。スレッドが見つかりません。

この解決策を試してください->削除

    v.setOnTouchListener(this);

そして追加

  sleep(50); 

SView で、タッチ リスナーで。

于 2012-11-08T08:00:01.397 に答える