【发布时间】:2012-02-10 09:52:36
【问题描述】:
我遇到了一个相当奇怪的问题。
我有一个抽象的 Activity 创建一些线程,并通过调用抽象的 handleEvent() 方法使用 Handler 处理消息。
在某些事件中,实现此抽象父活动的许多子活动之一是使用意图创建的 - 正常方式。
现在来说奇怪的部分:这些子活动中的每一个都实现并覆盖了抽象活动的 handleEvent() 方法。
但是,任何子活动中的 handleEvent() 方法——除了第一个——永远不会被调用!
有人可以解释这种行为吗?
试图更清楚:
Abstract Parent 接收事件-> 创建 Activity ChildA 抽象父接收事件 -> 创建活动 ChildB Abstract Parent 接收事件 -> Create Activity ChildC
Parent 接收到应该处理的事件,handleEvent() - 但只有 ChildA 的 handleEvent 方法被调用 - 即使 ChildB 或 ChildC 是活动的 Activity。
有人吗?
【问题讨论】:
标签: android inheritance event-handling thread-safety handler