后台代码
复制代码 代码如下:
private voID ChangeVIEw()
{
ly.removeAllVIEws();
LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
VIEw layout = inflater.inflate(R.layout.grID,null);
GrIDVIEw grIDvIEw = (GrIDVIEw)layout.findVIEwByID(R.ID.grIDvIEw);
grIDvIEw.setAdapter(new ItemAdapter(MainActivity.this));
grIDvIEw.setonItemSelectedListener(new OnItemSelectedListener() {
public voID onItemSelected(AdapterVIEw arg0,VIEw arg1,
int arg2,long arg3) {
}
public voID onnothingSelected(AdapterVIEw arg0) {
}
});
ly.addVIEw(grIDvIEw);
}
代码说明:
a). ly为main.xml中ID为ContentVIEw的linearLayout,即需动态添加VIEw的容器
b). ItemAdapter为GrID填充数据的辅助类
现象
正常
如果把grID.xml中GrIDVIEw的代码直接复制粘贴到main.xml中linearLayout容器内没有任何问题,布局正常。
不正常
如上动态添加androID:layout_height="fill_parent"就失效,不管这里设置绝对数值如300dp也不行,GrIDVIEw始终只显示有Item的内容,即容器内的VIEw无法完全填充linearLayout父容器。
三、 解决代码
就一行代码,不知道是AndroID的BUG还是怎么:
复制代码 代码如下:
ly.addVIEw(grIDvIEw,new linearLayout.LayoutParams(linearLayout.LayoutParams.FILL_PARENT,linearLayout.LayoutParams.FILL_PARENT));
结束
这个问题烦了我两个小时+,不管怎么说还是解决了,开心ing。
以上是内存溢出为你收集整理的Android动态添加View的问题解决方法全部内容,希望文章能够帮你解决Android动态添加View的问题解决方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)