手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android动态添加View的问题解决方法
Android动态添加View的问题解决方法
摘要:后台代码复制代码代码如下:privatevoidChangeView(){ly.removeAllViews();LayoutInflate...

后台代码

复制代码 代码如下:

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获取监听SD Card状态的方法

Android操作系统的架构设计分析

Android在高jar包版本的工程中修改方法

基于Android中手势交互的实现方法

Android开发:优化ListView实践解析

Android检测Cursor泄漏的原理以及使用方法

Android上使用jspf插件框架的方法

Android 设置应用全屏的两种解决方法

android实现listview分页的方法

Android 取得状态栏、任务栏高度的小例子

精品推荐
分类导航