为图像视图赋值



我是安卓开发的新手。我一直在为我的学校项目开发这个应用程序。该应用程序基本上是一个计算器,用于计算家用电器的能源消耗成本。在我的屏幕中,我有一堆图像在我的视图中的家用电器视图Flipper,因此用户可以浏览图像以选择他想要计算的电器。我的问题是,如何以有效的方式为这些 imageView 分配整数值(例如设备的瓦特或其规格),以便应用程序可以根据所选图像计算能耗?我使用条件语句,但它似乎编码太多并且浪费内存,因为我有超过 40 个图像视图。我应该使用 Sql 数据库并将设备的所有规格和图片放在一个表中,并在用户选择它时从那里调用它,还是有办法在 xml 中制作一些东西,例如数组或列表?

考虑创建一个扩展 ImageView 的类。然后,您可以将对象传递给自定义类,例如,将对象(存储所有与能量相关的数据)传递给自定义 ImageView 类的构造函数。

// The CustomView "IS-A" ImageView, so you can perform ImageView operations
// on your custom object. You can even choose to override ImageView methods.
public class CustomView extends ImageView {
    Object myObj;
    public CustomView(Context context, Object myObj) {
        super(context);
        this.myObj = myObj;
    }
}

或者你可以在ImageView上设置标签。

使用 40 个图像视图?如果内存管理处理不正确,我忘记了内存不足错误问题。小心!

您可以出于自己的目的将对象分配给视图

Double energy = Double.valueOf(123.44);
imageView.setTag(energy);
...
Double energy = (Double) imageView.getTag();

这类似于与 ViewGroups 一起使用的 ViewHolder 模式,用于存储对子视图的引用。

最新更新