在Android应用中以编程方式更改ListView的行高

时间:2015-09-08 17:22:43

标签: java android listview

我正在开发一个带有ListView的Android应用程序。

我想以编程方式更改行高,例如第0行的高度为100,其他的则为200。

我正在写下以下代码,但是在“layoutParams.height = 100;”行遇到 NullPointerException

你能告诉我如何解决这个问题吗?

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if (mInflater == null){
        mInflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    if (null == convertView) {
        convertView = mInflater.inflate(R.layout.list_detail, null);
    }
    if (imageLoader == null) imageLoader = AppController.getInstance().getImageLoader();

    if(position==0){
        ViewGroup.LayoutParams layoutParams = convertView.getLayoutParams();
        layoutParams.height = 100;
        convertView.setLayoutParams(layoutParams);
    }
    else{
        ViewGroup.LayoutParams layoutParams = convertView.getLayoutParams();
        layoutParams.height = 200;
        convertView.setLayoutParams(layoutParams);
    }

    ・・・

    return convertView;
}

1 个答案:

答案 0 :(得分:0)

在你的适配器xml中,更改父级的布局高度,你就可以了。