android - 对 Activity 和类(class)感到困惑

标签 android class android-activity

我正在实现一个列表,该列表需要由 Activity 显示并由用户修改(添加项目、删除项目、排序)。目前我有两个不同的类—— Activity 类和列表类,它包含列表中的所有操作。但是, Activity 类将需要访问列表以调整和显示它,复制 Activity 列表或公开列表似乎有点笨拙。我觉得我可能没有理解哪些 Activity 是正确的——我的两个类真的应该是一节课吗?我假设 Activity 主要用于 UI,而不是用于修改底层数据结构。

最佳答案

Activity 是 Android 的主要构建 block ,您在应用程序中看到的所有不同屏幕都是 Activities .您应该了解,并非您的 Android 应用中使用的所有 Java 类 都是 Activity (只有那些 extends Activity 的 Java 类才是 Activity )。

不是 Activity(在您的代码中使用)的 Java 类可以是简单的 Data ModelsCustom AdaptersCustom Views数据库处理程序服务等。

所有这些 Java 文件都与 Activity 类分开使用,以提供模块化并通过在单个 Activity 类中实现所有功能来避免造成困惑和缺陷。

您在 Activity 类中使用这些其他 Java 类的实例(或静态使用它们)。

要显示一个简单的列表,您可以使用 ListView 小部件,并且您实际上不需要单独的类来实现它。同样,如果您准备实现具有删除、添加、更新等功能的 ListView。那么自定义 ListView 是您可以使用的替代选项。

您不能在单个 Activity 类中实现自定义 ListView ,您将需要一个自定义适配器类、一个自定义数据模型类和其他相关类实现。

这里列出了一些用于实现简单和自定义 ListView 的有用教程:

  1. Vogella's ListView Tut
  2. The Open Tutorials
  3. Android Example 1
  4. Android Example 2

希望对您有所帮助。

关于android - 对 Activity 和类(class)感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18940314/

相关文章:

Android - 是否可以有硬件交互方法的内容提供者?

arrays - 未解析的标识符错误 Swift

Android 第二个 Activity 不加载

android - 应用程序在方向更改时保存文本框状态?

Android - sqlite in 子句使用数组中的字符串值?

Android 在安装时创建单独的 .apk

android - 拍摄照片而不保存

c++ - 在同一个头文件中定义底层的顶层类初始化

android - 我的应用程序在最初启动到设备时加载,但在我退出应用程序并返回后,它甚至不会尝试启动

java - 无法从 fragment 启动 Activity ,出现 IllegalArgumentException