我想在某个线程执行完毕后,通过handler把执行结果告知当前activity,并toast出来。我从handler类里派生了一个myhandler来处理消息,那么在myhandler类中,如何获得当前顶端activity的引用呢?
------解决方案--------------------
"我想在某个线程执行完毕后,通过handler把执行结果告知当前activity,并toast出来" 这个 很好实现, 线程中 发送 Message , 使用 handler.sendMessage(message) 发送信息给 Handler, 在 Handler 对应的分支里面 Toast 对应的字符串.
Handler 与 Activity 交互 的话, Handler 可以直接访问 Activity中定义的变量 , 不用获取 上下文环境吧
------解决方案--------------------
写在同一个类中,那可以直接调用,如果不是同个类中,那创建handler时,要传入activity的上下文
------解决方案--------------------
handler是和你创建它的Activity相关联的,所以handler对Activity的引用就是对当前Activity的引用,如果你用单独一个类来写handler的话,就要像楼上所说的实例化时要传入activity的上下文。
------解决方案--------------------
一般来说Handler就在主线程中创建的,跟Activity本身直接交互