ListView优化之ViewType使用
对ListView的优化可以采用ViewHolder,其原理就是复用了convertView,public View getView(int position, View convertView, ViewGroup parent),
有时ListView并不是每个item的布局都相同,比如:
,这个时候传递进来convertView就不能很好的工作,解决方法,可以通过ViewType实现多个不同View复用。
public View getView(int position, View convertView, ViewGroup parent) {
// loading view if (getItemViewType(position) == VIEW_TYPE_LOADING) { if (convertView == null) { convertView = getLayoutInflater(null).inflate( R.layout.list_item_stream_status, parent, false); } //...return convertView; } else {
//data view Activity activity = (Activity) getItem(position); if (convertView == null) { convertView = getLayoutInflater(null).inflate( R.layout.list_item_stream_activity, parent, false); } //... return convertView; } }
作者:小文字
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.