具有不同行布局的自定义Listview(位置问题)

Custom Listview with different row layouts (position problems)

我正在创建自定义列表视图。一切正常。但是当我启动应用程序时,布局会出现问题。应该是

但有时它只是做这样的事情

等等。 这是代码片段,我在其中更改了行布局。

View vi=convertView;
    if(convertView==null )
    {
        if(position % 2 == 0)
        vi = inflater.inflate(R.layout.list_row, parent,false);
        else
        vi = inflater.inflate(R.layout.list_row2, parent,false);
    }

    if(position % 3 == 0)
        vi.setBackgroundColor(Color.parseColor("#178C70"));
    else if(position % 3 == 1)
        vi.setBackgroundColor(Color.parseColor("#E51F2A"));
    else vi.setBackgroundColor(Color.parseColor("#1C2023"));

已添加图片以便您可以看到我的问题。: http://imgur.com/xrwWqBQ,bNE0OHV

这个有点复杂。

简答,在您的适配器中,请实现这些方法:

public int getItemViewType(int position)

public int getViewTypeCount()

或者最好去阅读本教程 http://android.amberfog.com/?p=296