listview  我们经常需要在listview中显示多种行布局,那多种行布局怎么复用优化呢..

其实很简单只是重写适配器的@Override
            public int getViewTypeCount() {
                return 2;
            }
            
            @Override
            public int getItemViewType(int position) {
                switch (position % 2) {
                case 0:
                    return 0;
                case 1:
                    return 1;
                default:
                    break;
                }
                return super.getItemViewType(position);
            }

          这两个方法就可以...在getView的时候判断显示哪个行布局就可以了..

            if (convertView == null)
                {
                    if(position % 2 == 0)
                    {
                        layout = inflater.inflate(R.layout.listitem_left, null);
                    }
                    else
                    {
                        layout = inflater.inflate(R.layout.listitem_right, null);
                    }
                }
                else
                {
                    layout = convertView;
                }
                return layout;


附件带上deom