Android 如何在SurfaceView的线程中调用父活动的方法?
给你一些背景: 我有一个活动,该活动具有已创建的自定义曲面视图。这个surfaceview有一个运行游戏的线程。如果用户在游戏中输了,我想调用一个Android 如何在SurfaceView的线程中调用父活动的方法?,android,multithreading,Android,Multithreading,给你一些背景: 我有一个活动,该活动具有已创建的自定义曲面视图。这个surfaceview有一个运行游戏的线程。如果用户在游戏中输了,我想调用一个lose()方法,该方法在实例化surfaceview的活动中定义 我该怎么做呢 到目前为止,我有: MyActivity activity = (MyActivity)context 然后在surfaceview中的线程中,我调用: activity.lose() 但我得到了一个错误: java.lang.RuntimeException: Ca
lose()
方法,该方法在实例化surfaceview的活动中定义
我该怎么做呢
到目前为止,我有:
MyActivity activity = (MyActivity)context
然后在surfaceview中的线程中,我调用:
activity.lose()
但我得到了一个错误:
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
我知道这个调用是在一个独立的线程上进行的,而不是在活动中的侦听器上,但是我如何才能通知这个活动一个用户已经输掉了游戏
感谢您的帮助。可能是您的lose()方法调用了触摸式UI操作,显示它
我会抛出这个错误
您可以通过以下方式解决此问题:
Looper.prepare();
activity.close();
似乎是广播接收机的方式,试过了吗?