在为listView设置适配器时,我应该只做listView.setAdapter(new MyAdapater());
,还是应该将适配器保存为实例变量,并在onDestory()时将其设置为null?适配器应该是局部变量还是实例变量?
3
A
回答
0
最好将适配器作为实例变量来维护,因为每次创建新适配器而不是只更改数据,并且可以调用notifyDatasetChanged()以便刷新适配器。
2
答案取决于用例。
如果你打算做数据操作,如重新排列元素的顺序,或以某种方式动态变化的数据,那么它的“更好”有你的适配器的实例变量。无论何时访问适配器,它都可以安全地从ListView getAdapter()方法中转换适配器。
如果您正在创建一个简单的列表视图, 10字符串,你不打算对数据集做任何事情,那么你不需要保留对适配器的引用。
相关问题
- 1. Rails - 局部变量与实例变量
- 2. Ruby实例变量和局部变量
- 3. 实例vs局部变量
- 4. 局部变量:Pascal还是Camel外壳?
- 5. 我应该使用全局变量还是在java中传递变量?
- 6. 我应该使用会话变量还是全局超级变量
- 7. Python函数的返回值应该是方程还是局部变量?
- 8. 实例变量是新的全局变量吗?
- 9. Whati是全局变量和实例变量
- 10. 渐变下降:delta值应该是标量还是向量?
- 11. 为什么在Session_Controller中使用局部变量而不是实例变量
- 12. 什么是实例变量?
- 13. 分配实例变量静态变量
- 14. 变量还是常量?
- 15. 将局部变量改为实例变量后的重构
- 16. 实例变量和局部变量的默认值
- 17. !ClrStack局部变量 - 它是值类型还是引用类型
- 18. 应该变量被释放还是不变? iphone-sdk
- 19. 局部变量“服务器的分配
- 20. 时区应该是一个常数还是一个变量?
- 21. iphone分配实例变量
- 22. 分配实例变量?
- 23. 局部变量
- 24. 局部变量
- 25. 局部变量
- 26. 是否允许将实例变量隐式分配给实例?
- 27. 我应该使用成员变量还是在函数内声明变量?
- 28. 在声明局部变量var后,实例变量变为不可见
- 29. 在$(document).ready内部实例化变量而不是全局声明变量是不好的做法吗?
- 30. 你应该只在局部使用局部变量吗?
这不是真的。如果您将适配器初始化为匿名实例,那么如果您需要更新数据集,则无需每次创建新实例。在这种情况下,你可以简单地将适配器连接到ListView中,但这种“投射”需要花费和时间(我在我的回答中提到的如何)。 – Sajmon 2015-02-12 08:20:43
如果你想在另一个活动中使用相同的适配器呢? – Chandrakanth 2015-02-12 08:24:05
@Chandrakanth等等呢?如果您想在另一个活动中使用相同的适配器,哪里有问题? – Sajmon 2015-02-12 08:26:00