WEB开发网
开发学院手机开发Android 开发 Android1.6 继承BaseAdapter为GridView设置数据时... 阅读

Android1.6 继承BaseAdapter为GridView设置数据时设置setLayoutParams时注意

 2010-09-15 00:22:00 来源:WEB开发网   
核心提示:Android1.6]继承BaseAdapter为GridView设置数据时设置setLayoutParams时注意声明欢迎转载,但请保留文章原始出处:)博客园:http://www.cnblogs.com农民伯伯: http://www.cnblogs.com/over140/正文一、问题代码public View

Android1.6]继承BaseAdapter为GridView设置数据时设置setLayoutParams时注意

声明

欢迎转载,但请保留文章原始出处:)

博客园:http://www.cnblogs.com

农民伯伯: http://www.cnblogs.com/over140/

正文

一、问题代码

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

if (convertView == null) {

TextView item = new TextView(context);

item.setText("Test");

item.setLayoutParams(new LayoutParams(

LayoutParams.WRAP_CONTENT,

LayoutParams.WRAP_CONTENT));

return item;

} else

return convertView;

}

代码说明:

a).  LayoutParams是指android.view.ViewGroup.LayoutParams。

b).  程序运行后将出错,错误很莫名其妙且不固定。

二、问题分析

经调试发现在获取LayoutParams时内部是将这个属性转到android.widget.AbsListView.LayoutParams,也就是这里setLayoutParams弄错了,这里正确的方法是使用GridView.LayoutParams,替换之后问题得以解决。

结束

之前一直是复制、粘贴这部分的代码,所以没注意有这问题,这里记录一下。

Tags:Android 继承 BaseAdapter

编辑录入:coldstar [复制链接] [打 印]
赞助商链接