Android - 使用线性布局数组填充listview

时间:2015-08-04 02:52:23

标签: android android-layout listview

我正在尝试使用LinearLayout的ArrayList填充我的ListView(因为原因)。每个LinearLayout都有自己的控件(Button,TextView等)作为子视图。

我刚刚尝试这样做,但是我收到了错误。

java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot 
be cast to android.widget.AbsListView$LayoutParams

这是我的适配器代码:

@Override
public View getView(int position, View view, ViewGroup viewGroup) {
    view = arrayNestedContent.get(position).getView(context);

    return view;
}

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

对于列表视图,您使用适配器,在getView方法中,您将使用inflater链接到自定义线性布局。您在getView中扩展布局,然后在最后返回新布局。

适配器的getView方法中有类似的东西:

View row = inflater.inflate(R.layout.layout_name);
Button button = row.findViewById(R.id.buttonID);
TextView someView = row.findViewById(R.id.tvID);              someView.setText(arrayNestedContent.get(position).text);
button.setOnClick.....
return row;