1

我正在为用户单击 AlertDialog 选项时可能发生的所有操作创建一个通用位置/类。我找到了这个链接,但它并没有真正帮助我理解这个概念。这就是我想要做的。

  1. 我有一个从 Activity 扩展的类(ClassA)和从 ListActivity 扩展的另一个类(ClassB)。
  2. 无论从哪里调用,我都会弹出警报对话框。
  3. 我创建了一个在 ClassA 中扩展的 BaseRootActivity 类。由于 ClassB 从 RootListActivity 类扩展,我无法调用位于 BaseRootActivity 内的方法,尤其是那些使用上下文方法的方法。

我可以根据链接创建两个单独的通用列表活动,但代码会在两个类中重复。我想避免这种情况。有没有办法可以做到这一点,我知道答案可能在给出的链接中,但是,我并不能真正理解用户所说的基本逻辑。我将不胜感激这方面的任何帮助。

4

1 回答 1

1

您应该始终更喜欢组合而不是继承。所以,你有两个不错的选择:

  • 只需将对话逻辑放在您将使用的第三个类中,ClassA并且ClassB(不扩展它,只是使用它)。
  • 使用 Fragments API(您可以使用兼容性库使其在旧版本的 Android 上可用);在那里你可以找到一个名为的类DialogFragment,它基本上迫使你在分离的类上创建对话框(顺便说一句,这是一个好主意),如果你选择遵循第一个选择,这将帮助你处理可能面临的问题。
于 2012-04-11T03:43:29.377 回答