我们要想在一个页面中不仅包含有ListView,还包含有其他控件,当增加滚动轴,即用ScrollView作为最外层布局视图时,我们会发现ListView也会出现滚动轴。这可以说是android中的一个小bug。
最有效和简单的解决办法就是在布局文件中明确声明ListView的高度。但是有人又提出问题了,我不知道ListView中有多少行数据,如何指定有效的高度呢?那么就只有在代码中指定ListView的高度了。笔者使用的代码如下:
int num = listview.getCount(); int height = 38 * num;//38是我们假定为分给每行数据的高度,可以根据显示效果更改 listview.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, height);
又有人该说了,我用listview.getCount()得到的num和listview的实际行数不一致。那我们就继续往上追溯,我们在生成listview,往里面增加数据的时候,总能知道增加数据的条数吧?那就在这个地方设置高度。即num=数据集中元素个数。