简体   繁体   English

当我尝试重新创建 Activity 时,应用程序崩溃

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

I'm coding an app that has two Activity's.我正在编写一个有两个 Activity 的应用程序。 The first one sets content view to an.xml.第一个将内容视图设置为 an.xml。 In the.xml when a button is clicked it calls another activity and sets the view again.在.xml 中,当单击按钮时,它会调用另一个活动并再次设置视图。

Up to this part, it works perfectly.到目前为止,它工作得很好。 But when the app reaches a certain point it calls a method in the first activity that should recreate() .但是当应用程序到达某个点时,它会在第一个活动中调用一个应该recreate()的方法。 But the recreate() crashes my app.但是recreate()使我的应用程序崩溃。

Find my two activities below:在下面找到我的两个活动:

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

}

}

Now this is my second activity现在这是我的第二个活动

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();
}
}

In the fist activity.在拳头活动中。 the recreate() crashes the app. recreate()使应用程序崩溃。

Not entirely sure if this is what you meant by a stacktrace.不完全确定这是否是您所说的堆栈跟踪。 If it's not please let me know.如果不是,请告诉我。

~ ~

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

~~ ~~

This is the code that calls setViewActivity();这是调用 setViewActivity() 的代码; The code is in my GameDraw class (the one that gets called in the second activity. This class handles screen user inputs and draws the game.代码在我的 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;
}
}

Added the manifest that calls the first activity(ActivityMain).添加了调用第一个活动(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 classes should not be instantiated directly (ie no new YourActivity() ).不应直接实例化 Activity 类(即没有new YourActivity() )。 They are created and destroyed by the system.它们由系统创建和销毁。 To start a new activity you create an Intent and then call the startActivity() method of the Context class.要启动一个新活动,您需要创建一个Intent ,然后调用Context class 的startActivity()方法。

In your case, to start the GameActivity you would call something like在您的情况下,要启动GameActivity您可以调用类似

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

in your startGame() method.在你的startGame()方法中。

For the updated question you also need to replace the call to setViewActivity() with对于更新的问题,您还需要setViewActivity()的调用替换为

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

You can find more information in the Android developer guides, eg here您可以在 Android 开发人员指南中找到更多信息,例如这里

Since you updated your question another problem becomes apparent: In Android you need to declare all Activities in your manifest.由于您更新了问题,另一个问题变得明显:在 Android 中,您需要在清单中声明所有活动。 Your manifest contains only the MainActivity, so the GameActivity cannot be launched.您的清单仅包含 MainActivity,因此无法启动 GameActivity。 To fix this problem you need to add the following declaration to the manifest file (between the application tags):要解决此问题,您需要将以下声明添加到清单文件(在application标记之间):

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

Where you called?你在哪里打的? setViewActivity();

Try this for call other Activity试试这个来调用其他活动

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

Try like this.像这样试试。

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

}

Update更新

You are calling setViewActivity() on a null object reference .您在null object reference上调用setViewActivity()

Initialize your MAobject inside the constructor of your GameDraw class like below.在 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