适配器应该是局部变量还是实例变量?

时间:2015-02-12 08:11:44

标签: android adapter

为listView设置适配器时,我应该只执行listView.setAdapter(new MyAdapater());还是应该将适配器保留为实例变量,并在onDestory()时将其设置为null?

2 个答案:

答案 0 :(得分:2)

答案取决于用例。

  1. 如果您要进行数据操作,例如重新排列元素的顺序或以某种方式动态更改数据,那么“更好”地拥有适配器的实例变量。每当访问适配器时,它都可以保护您从ListView getAdapter()方法中转换适配器。

  2. 如果您要创建一个由ex组成的简单列表视图。 10个字符串,你不打算用数据集做任何事情,那么你不需要保留对你的适配器的引用。

答案 1 :(得分:0)

最好将适配器保持为实例变量,因为每次必须创建新适配器而不是只更改数据时,可以调用notifyDatasetChanged()以便刷新适配器。