我有 3 个 Activity 使用相同的工具栏。我想避免在每个 Activity 上复制代码。我知道我可以使用 <include>
每个布局中都有标签,以便为工具栏重用相同的布局。现在我想分享所有 Activity 中工具栏每个按钮的事件处理程序。我正在考虑制作一个 toolbarActivity
其中extends Activity
类(class)和3项 Activity extends toolbarActivity
,所以在 onCreate 方法中,当我调用 base.OnCreate
时,将定义所有事件处理程序。但是,SetContentLayout
还没有被调用,所以 base.OnCreate
将找不到按钮。请记住,这 3 个 Activity 有不同的布局。您是否知道重用代码的最佳方法,以避免为每个 Activity 复制 OnCreate 方法中的所有事件处理程序并允许我覆盖某些功能?
最佳答案
Android 用于移动设备,因此在开发时他们无法知道用户设备的大小和尺寸。在大型设备上可以容纳许多 UI 元素。在较小的设备上,很少有 UI 元素可以容纳。你的问题与这个困境有关,因此有很多可能的答案。从逻辑上讲,要使代码正常工作,它必须存在于源代码中,即您可以剪切和粘贴,这是一个糟糕的解决方案,因为您最终会得到这个“相同”工具栏的许多版本,或者您可以引用/引用一个“外部”工具栏。 fragment 就像拥有一个单独的源文件一样。 UI 源文件可以被视为成对的。 Java 用于动态元素,XML 用于静态元素。因此总而言之,只需引用已实现工具栏的外部 fragment 即可。
关于android - Android 中代码的可重用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36655920/