Android动态添加View的问题解决方法

Gentle丶小美美

Gentle丶小美美

2016-02-19 09:44

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享Android动态添加View的问题解决方法教程,希望对大家能有一点小小的帮助。

后台代码
代码如下:

    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() {

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

            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。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

Android动态添加View的问题解决方法

编程语言 网络编程
Android动态添加View的问题解决方法

夏季装修问题解决方法

装修 夏季 家具
夏季装修问题解决方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

电脑死机问题解决方法

电脑入门
电脑死机问题解决方法

Android拍照保存在系统相册不显示的问题解决方法

编程语言 网络编程
Android拍照保存在系统相册不显示的问题解决方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Excel中常见问题解决方法

电脑入门
Excel中常见问题解决方法

JSP中文乱码问题解决方法小结

Web开发
JSP中文乱码问题解决方法小结

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

QQ动态墙的介绍

QQ动态墙的介绍

Mysql 插入中文及中文查询 (修改+调试)

Mysql 插入中文及中文查询 (修改+调试)
下拉加载更多内容 ↓