是否可以使用视图充气器来膨胀个别物品?

时间:2012-06-25 05:40:07

标签: java android listview view

现在我正在使用自定义列表视图,我正在膨胀要查看的xml文件。我想根据位置夸大布局以使其具有不同的通胀。

public View getView(int position,View v,ViewGroup parent) {
    if (v == null) {
        v = li.inflate(R.layout.grid_item,null);

        final TextView tv = (TextView) v.findViewById(R.id.grid_text);
        tv.setText(String.valueOf(position+1));
    }

网格项是我正在膨胀的。我想在保持文本视图的同时根据位置充气几个不同的项目。目前为了做到这一点,我在grid_item中有一个我正在改变的图像,但我宁愿这样做。

2 个答案:

答案 0 :(得分:0)

为不同的位置创建不同的xml

 or

使用容器创建一个xml(仅限Linearlayout)并在运行时根据位置添加视图

答案 1 :(得分:0)

好的,如果你想根据位置膨胀一个不同的xml,那么只需使用一些我想说的旧学校代码,比如

if (v == null) {
    if(position < 5){//whatever condition you want here    
        v = li.inflate(R.layout.grid_item,null);
    }
    else{
        v = li.inflate(R.layout.grid_item2,null);
    }
}

final TextView tv = (TextView) v.findViewById(R.id.grid_text);
tv.setText(String.valueOf(position+1));

然后只需确保在所有xmls grid_text中命名文本字段,就可以了。