如何通过异步更新文本和图像来显示不同的单元格布局?

时间:2011-07-25 16:47:57

标签: java android listview android-linearlayout

我正在为家庭自动化系统开发远程控制应用程序。移动和家庭自动化设备通过WebSockets进行通信。

为了显示自动化设备的功能,我目前正在使用具有不同单元格布局的ListViews和Adapters。一个适配器显示所有设备的功能。

我遇到的最大问题是:适配器经常调用getView(),这会触发我的函数一遍又一遍地使用状态句柄和操作调度程序注册自己。

请注意:

  • 大约有20种不同类型的功能,所有功能都需要不同的单元布局。有滑块,按钮,状态文本......
  • 这些函数以异步方式更新状态。

我需要找到一种方法来在ListView或类似ListView的布局中显示这些函数。

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

确保实现BaseAdapter.getViewTypeCount(),它应该返回listView预计对其enteries具有的不同视图类型的数量。

并实现ListAdapter.getItemViewType(int position)以返回标识特定视图的int以及它将是哪种视图类型。

遵循以上两个建议将确保您的ListView效率很高,并且它将保证使用适当的视图类型调用您的getView(...)方法(如果已经有一个已经被通知)。

也就是说,如果您的列表中有一些固定数量的视图并且它们都不同,那么请考虑在ScrollView中使用LinearLayout。