android - Android 中代码的可重用性

标签 android oop xamarin.android

我有 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/

相关文章:

xamarin - 如何使用 Xamarin Forms 从图像属性读取地理坐标?

android - 有没有办法在android中显示一个全局对话框?

java - 某些操作的刷新 Activity

php - 如何在模型结构上表示必填业务字段?

android - 如何在 Xamarin From 中定义 Entry 用户名/密码/名字/姓氏,以便 android 会自动填充它?

ios - 如何从 Visual Studio 2013 开始使用 Xamarin?

java - AsynTask 完成工作后返回函数值

java - android 获取 android 库上下文与应用程序上下文

java - 将对象类型转换为任何 Collection 类型

php - MySQL insert_id 总是返回零