簡體   English   中英

當我嘗試重新創建 Activity 時,應用程序崩潰

[英]When I try to recreate an Activity the app crashes

我正在編寫一個有兩個 Activity 的應用程序。 第一個將內容視圖設置為 an.xml。 在.xml 中,當單擊按鈕時,它會調用另一個活動並再次設置視圖。

到目前為止,它工作得很好。 但是當應用程序到達某個點時,它會在第一個活動中調用一個應該recreate()的方法。 但是recreate()使我的應用程序崩潰。

在下面找到我的兩個活動:

public class MainActivity extends Activity {


private GameActivity gameAc;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.activity_main);
}

public void startGame(View v) {



    gameAc = new GameActivity();//this line calls the second activity


}



public void setViewActivity(){

    recreate(); // this is the line that crashes the app

}

}

現在這是我的第二個活動

public class GameActivity extends Activity {

//declare class Gamedraw
private GameDraw gameDraw;

//too hold screen dimensions
Point size = new Point();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //get phone dimensions
    Display display = getWindowManager()
            .getDefaultDisplay();

    display.getSize(size);



    //initialse class
    gameDraw = new GameDraw(this, size);



    //set view to gamedraw
    setContentView(gameDraw);

}

@Override
protected void onResume() {
    super.onResume();
    gameDraw.resume();
}

@Override
protected void onPause() {
    super.onPause();
    gameDraw.pause();
}
}

在拳頭活動中。 recreate()使應用程序崩潰。

不完全確定這是否是您所說的堆棧跟蹤。 如果不是,請告訴我。

~

2019-10-14 12:16:32.987 18795-18795/? I/roid.runningma: Late-enabling -Xcheck:jni
2019-10-14 12:16:33.303 18795-18795/? W/re-initialized>: type=1400 audit(0.0:2662): avc: denied { read } for name="u:object_r:mtk_amslog_prop:s0" dev="tmpfs" ino=106 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:mtk_amslog_prop:s0 tclass=file permissive=0
2019-10-14 12:16:33.309 18795-18795/? E/libc: Access denied finding property "persist.vendor.sys.activitylog"
2019-10-14 12:16:33.467 18795-18795/com.example.android.runningman W/ActivityThread: Application com.example.android.runningman is waiting for the debugger on port 8100...
2019-10-14 12:16:33.469 18795-18795/com.example.android.runningman I/System.out: Sending WAIT chunk
2019-10-14 12:16:34.472 18795-18795/com.example.android.runningman I/System.out: Debugger has connected
2019-10-14 12:16:34.473 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:34.674 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:34.876 18795-18795/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) identical 1 line
2019-10-14 12:16:35.077 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:35.278 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:35.479 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:35.680 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:35.881 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:36.081 18795-18795/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) identical 1 line
2019-10-14 12:16:36.282 18795-18795/com.example.android.runningman I/System.out: waiting for debugger to settle...
2019-10-14 12:16:36.483 18795-18795/com.example.android.runningman I/System.out: debugger has settled (1301)
2019-10-14 12:16:37.219 18795-18795/com.example.android.runningman D/PackageManager: return text:  RunningManfor package: com.example.android.runningman
2019-10-14 12:16:37.272 18795-18795/com.example.android.runningman D/OpenGLRenderer: Skia GL Pipeline
2019-10-14 12:16:37.275 18795-18795/com.example.android.runningman I/SurfaceFactory: [static] sSurfaceFactory = com.mediatek.view.impl.SurfaceFactoryImpl@fc013c8
2019-10-14 12:16:37.307 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2663): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.310 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.310 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2664): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.315 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.317 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2665): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.319 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.320 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2666): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.323 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.323 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2667): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.327 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.327 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2668): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.331 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.333 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2669): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.336 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.337 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2670): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.340 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.340 18795-18795/com.example.android.runningman W/roid.runningman: type=1400 audit(0.0:2671): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:37.344 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.404 18795-18795/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) identical 14 lines
2019-10-14 12:16:37.409 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.416 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.578 18795-18795/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) identical 34 lines
2019-10-14 12:16:37.581 18795-18795/com.example.android.runningman D/skia: SkJpegCodec::onGetPixels fEnTdshp 0 fISOSpeedRatings -1!
2019-10-14 12:16:37.652 18795-18795/com.example.android.runningman I/PhoneWindow: isNeedChangeNaviBarColor taskInfo: [android.app.ActivityManager$RunningTaskInfo@f490221] size: 1
2019-10-14 12:16:37.655 18795-18795/com.example.android.runningman I/PhoneWindow: isAPPNeedChange pkgName: com.example.android.runningman needKeep: false
2019-10-14 12:16:37.655 18795-18795/com.example.android.runningman I/PhoneWindow: isNeedChangeNaviBarColor false
2019-10-14 12:16:37.656 18795-18795/com.example.android.runningman I/PhoneWindow: generateLayout mNavigationBarColor: ff000000
2019-10-14 12:16:37.657 18795-18795/com.example.android.runningman I/PhoneWindow: generateLayout isLightNavi false, Visibility: 0
2019-10-14 12:16:38.124 18795-18795/com.example.android.runningman D/ViewRootImpl[MainActivity]: hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
2019-10-14 12:16:38.338 18795-18828/com.example.android.runningman I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2019-10-14 12:16:38.338 18795-18828/com.example.android.runningman I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2019-10-14 12:16:38.339 18795-18828/com.example.android.runningman I/OpenGLRenderer: Initialized EGL, version 1.4
2019-10-14 12:16:38.339 18795-18828/com.example.android.runningman D/OpenGLRenderer: Swap behavior 2
2019-10-14 12:16:38.374 18795-18828/com.example.android.runningman D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
2019-10-14 12:16:38.467 18795-18828/com.example.android.runningman E/ion: ioctl c0044901 failed with code -1: Invalid argument
2019-10-14 12:16:38.463 18795-18795/com.example.android.runningman W/RenderThread: type=1400 audit(0.0:2723): avc: denied { search } for name="clients" dev="debugfs" ino=7489 scontext=u:r:untrusted_app:s0:c200,c256,c512,c768 tcontext=u:object_r:debugfs_ion:s0 tclass=dir permissive=0
2019-10-14 12:16:39.449 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.512 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.569 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.626 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.682 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.905 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 6 lines
2019-10-14 12:16:39.931 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:39.959 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:40.107 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 7 lines
2019-10-14 12:16:40.120 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:40.134 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:40.984 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 51 lines
2019-10-14 12:16:41.000 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.017 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.036 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.053 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.068 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.087 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.103 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.121 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.136 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.388 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 15 lines
2019-10-14 12:16:41.405 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.422 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.791 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 22 lines
2019-10-14 12:16:41.808 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:41.825 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:42.010 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 11 lines
2019-10-14 12:16:42.027 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:42.045 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:42.346 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 18 lines
2019-10-14 12:16:42.363 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:42.383 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.221 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 50 lines
2019-10-14 12:16:43.238 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.254 18795-18795/com.example.android.runningman E/InputEventReceiver: Exception dispatching input event.
2019-10-14 12:16:43.254 18795-18795/com.example.android.runningman E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
2019-10-14 12:16:43.255 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.271 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.292 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.308 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.327 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.327 18795-18795/com.example.android.runningman E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Looper android.app.ActivityThread.getLooper()' on a null object reference
        at android.app.Activity.recreate(Activity.java:5583)
        at com.example.android.runningman.MainActivity.setViewActivity(MainActivity.java:60)
        at com.example.android.runningman.GameDraw.onTouchEvent(GameDraw.java:389)
        at android.view.View.dispatchTouchEvent(View.java:12545)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:441)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1839)
        at android.app.Activity.dispatchTouchEvent(Activity.java:3400)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:399)
        at android.view.View.dispatchPointerEvent(View.java:12789)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5279)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5073)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4639)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4605)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4745)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4613)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4802)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4639)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4605)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4613)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7336)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7305)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7262)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7453)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:326)
        at android.os.Looper.loop(Looper.java:160)
        at android.app.ActivityThread.main(ActivityThread.java:6702)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
2019-10-14 12:16:43.327 18795-18795/com.example.android.runningman D/AndroidRuntime: Shutting down VM
2019-10-14 12:16:43.339 18795-18827/com.example.android.runningman D/Surface: lockCanvas

    --------- beginning of crash
2019-10-14 12:16:43.368 18795-18795/com.example.android.runningman E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.android.runningman, PID: 18795
    java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Looper android.app.ActivityThread.getLooper()' on a null object reference
        at android.app.Activity.recreate(Activity.java:5583)
        at com.example.android.runningman.MainActivity.setViewActivity(MainActivity.java:60)
        at com.example.android.runningman.GameDraw.onTouchEvent(GameDraw.java:389)
        at android.view.View.dispatchTouchEvent(View.java:12545)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3085)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2684)
        at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:441)
        at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1839)
        at android.app.Activity.dispatchTouchEvent(Activity.java:3400)
        at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:399)
        at android.view.View.dispatchPointerEvent(View.java:12789)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5279)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5073)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4639)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4605)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4745)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4613)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4802)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4639)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4605)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4613)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4586)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7336)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7305)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7262)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7453)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:186)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:326)
        at android.os.Looper.loop(Looper.java:160)
        at android.app.ActivityThread.main(ActivityThread.java:6702)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
2019-10-14 12:16:43.390 18795-18827/com.example.android.runningman I/chatty: uid=10200(com.example.android.runningman) Thread-2 identical 3 lines
2019-10-14 12:16:43.409 18795-18827/com.example.android.runningman D/Surface: lockCanvas
2019-10-14 12:16:43.426 18795-18795/com.example.android.runningman I/Process: Sending signal. PID: 18795 SIG: 9

~~

這是調用 setViewActivity() 的代碼; 代碼在我的 GameDraw class 中(在第二個活動中被調用。這個 class 處理屏幕用戶輸入並繪制游戲。

 public class GameDraw extends SurfaceView implements Runnable {

 private MainActivity MAobject;

  public GameDraw(Context context, Point size) {
 //this handles all drawing to screen
 }


  @Override
   public boolean onTouchEvent(MotionEvent event) {
      switch (event.getAction() & MotionEvent.ACTION_MASK) {
        case MotionEvent.ACTION_DOWN :

            if (death == false) {

                if (firstRun) {
                    firstRun = false;
                    gravity = true;
                    Log.e("viewtrace", "test");

                } else {
                    jumping = true;

                }
            }
            else{
                Log.e("viewtrace", "1");
                MAobject.setViewActivity();

            }

            break;
    }

    return true;
}
}

添加了調用第一個活動(ActivityMain)的清單。

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.runningman">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"

        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
        android:screenOrientation="landscape"
        >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

 </manifest>

不應直接實例化 Activity 類(即沒有new YourActivity() )。 它們由系統創建和銷毀。 要啟動一個新活動,您需要創建一個Intent ,然后調用Context class 的startActivity()方法。

在您的情況下,要啟動GameActivity您可以調用類似

startActivity(new Intent(this, GameActivity.class));

在你的startGame()方法中。

對於更新的問題,您還需要setViewActivity()的調用替換為

getContext().startActivity(new Intent(getContext(), MainActivity.class));

您可以在 Android 開發人員指南中找到更多信息,例如這里

由於您更新了問題,另一個問題變得明顯:在 Android 中,您需要在清單中聲明所有活動。 您的清單僅包含 MainActivity,因此無法啟動 GameActivity。 要解決此問題,您需要將以下聲明添加到清單文件(在application標記之間):

<activity
    android:name=".GameActivity"
    android:label="Some name for your Activity" />

你在哪里打的? setViewActivity();

試試這個來調用其他活動

 public void startGame(View v) { startActivity(new Intent(this, GameActivity.class)); }

像這樣試試。

public void setViewActivity(){
   if (android.os.Build.VERSION.SDK_INT >= 11){
      recreate();
   }else{
      Intent intent = getIntent();
      finish();
      startActivity(intent);
   }

}

更新

您在null object reference上調用setViewActivity()

在 GameDraw class 的構造函數中GameDraw MAobject ,如下所示。

public class GameDraw extends SurfaceView implements Runnable {

 private MainActivity MAobject;

  public GameDraw(Context context, Point size) {
     // here you have to initialize you MAobject
     MAobject = (MainActivity) context;
 }
 // .....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM