gpt4 book ai didi

java - 如何在 Android 的静态上下文中声明图像?

转载 作者:搜寻专家 更新时间:2023-11-01 09:47:35 24 4
gpt4 key购买 nike

我想知道是否可以在静态变量中引用图像?我正在尝试修改我拥有的购物车示例,但我无法将图像添加到现有的项目列表中。我不确定我问的问题是否正确,但是,如果我尝试使用示例可能会更好,所以这里是...

我有一个 ImageView 声明如下:

public static ImageView imgView = (ImageView)findViewById(R.id.ivProductImage);

然后我将图像放到 imageview 上,如下所示:

imgView.setImageResource(R.drawable.bg);

我之所以需要它是静态的,是因为我要求它在静态变量中调用,如下所示:

public static final Product PRODUCT1 = new Product(1, imgView, "Product Name", BigDecimal.valueOf(4.00), "Product Description");

我真的只想为每个产品变量添加一个图像。那么有没有一种更简单的方法,我可以只放置一个图像,我在静态 Product 变量中有 imgView 的地方?

我不确定是否有比我上面所说的更有效的方法,但是,我希望你们能对此有所启发:)感谢大家的阅读,我期待着您的帮助和指导。

最佳答案

I have an ImageView declared as follows:

这有两个问题:

  1. 它要么崩溃(很可能),要么可能返回 null

  2. 它会泄漏内存。

在调用 setContentView() 之前(或者您要查找的 View 已创建),您才能调用 findViewById()。这不能通过静态初始值设定项来完成。通常,它在 Activity 的 onCreate() 中完成。

持有 static 字段中的 ImageView 反过来持有整个 ActivityActivity 引用资料。此外,一旦用户旋转屏幕、调整窗口大小或以其他方式导致配置更改,您的 ImageView 将不再有效。将创建一个新的 Activity 实例,但您的 static ImageView 将用于旧的 Activity

The reason why I need to have it static is because I require it to be called in a static variable as follows:

摆脱那个 static 字段并以其他方式解决您的问题。

关于java - 如何在 Android 的静态上下文中声明图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37244324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com