这篇文章说一个已经老掉牙的问题,但也算比较常见。
写一个布局的时候,难免会遇到界面中的控件已经超出了手机屏幕可显示的范围,这时候就需要在布局中放置一个ScrollView,使屏幕可以滚动。
当ScrollView中有ListView需要显示的时候,如果ListView是固定高度的,则可以显示正常;但如果ListView里面的数据是不定的,而ListView的高度也是随之变化的,嵌套在ScrollView中的ListView计算不出来高度,这是就会出现显示问题。
常见的现象就是:ListView只显示一行数据。
解决这个问题,就需要根据ListView中item的个数,通过代码动态设置ListView的高度。
动态设置高度对item布局有一个要求:item最外层布局需要是LinearLayout
具体该怎么写,附上一段代码,一看就懂
private void initView() {
attachmentListView = (ListView) findViewById(R.id.attachmentList);
if (attachmentList.size() > 0) {
attachmentListView.setVisibility(View.VISIBLE);
attachmentAdapter = new OAAttachmentAdapter(this

当ScrollView中的ListView数据不定时,会导致显示问题,只显示一行数据。解决方法是动态设置ListView高度,需要item最外层布局为LinearLayout。提供代码示例来实现这一功能,从而避免嵌套冲突。

7597

被折叠的 条评论
为什么被折叠?



