欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

listview的getview里头返回linearlayout,为何报错了

更新时间: 2014-01-05 02:35:11 责任编辑: Author_N1

 

listview的getView里面返回LinearLayout,为何报错了?
	@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView = null;

List<Map<String, Object>> _row = listItems.get(position);

LinearLayout.LayoutParams _llp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT);
LinearLayout _ll = new LinearLayout(context);
_ll.setOrientation(LinearLayout.HORIZONTAL);
_ll.setLayoutParams(_llp);

for(int i=0; i<_row.size(); i++) {
Map<String, Object> _cell = _row.get(i);

LinearLayout.LayoutParams _cellP = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT, Float.parseFloat(_cell.get("weight").toString()));

EditText _ed = new EditText(context);
_ed.setText(_cell.get("value").toString());

if(_cell.get("type").equals("text"))
_ed.setFilters(setEditable());

_ll.addView(_ed, _cellP);
}


return _ll;
}


错误信息是:java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

在DDMS里面也没有具体定位哪里错了,逐步调试在return那里出错了,求解?
--参考方法--
  LinearLayout.LayoutParams _llp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT);
这句代码导致的错误哦
--参考方法--
因为你的这个LinearLayout是放在一个ListView中(ListView是AbsListView的子类),所以LinearLayout.setLayoutParameters()中应该放AbsListView.LayoutParameter这个类的对象。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:35:11
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/11735/
本文WWW.DOC100.NET DOC100.NET版权所有。