活动需要的建议以及如何保持通用性

时间:2012-04-11 03:35:32

标签: java android android-activity multiple-inheritance listactivity

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

  1. 我有一个类(ClassA),它从Activity扩展而另一个类(ClassB)从ListActivity扩展。
  2. 无论调用何处,我都会弹出警告对话框。
  3. 我创建了一个在ClassA中扩展的BaseRootActivity类。由于ClassB从RootListActivity类扩展,我无法调用BaseRootActivity中的方法,特别是那些使用上下文方法的方法。
  4. 我可以根据链接创建两个单独的通用列表活动,但代码将在两个类中重复。我想避免这种情况。有没有办法可以做到这一点,我理解答案可能在给出的链接中,但我真的无法理解用户所说的基本逻辑。我很感激任何帮助。

1 个答案:

答案 0 :(得分:1)

你应该总是喜欢构图而不是继承。所以,你有两个不错的选择:

  • 只需将对话逻辑放在您将使用ClassAClassB的第三个类中(不要扩展它,只使用它)。
  • 使用Fragments API(您可以使用compatibility library在旧版Android上使用它);在那里你可以找到一个名为DialogFragment的类,它基本上迫使你在分离的类上创建对话框(顺便说一句,这是一个好主意),这将帮助你处理你可能面临的问题,如果你选择关注第一选择。