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那里出错了,求解?

============解决方案1============


  LinearLayout.LayoutParams _llp = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.MATCH_PARENT);
这句代码导致的错误哦

============解决方案2============


因为你的这个LinearLayout是放在一个ListView中(ListView是AbsListView的子类),所以LinearLayout.setLayoutParameters()中应该放AbsListView.LayoutParameter这个类的对象。

转载于:https://www.cnblogs.com/hugangyan86/p/4038716.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值