添加新行时如何调整ListView的大小?

And*_*ndy 1 android resize android-listview

所以我有这个:

...<!--Stuff above-->
<ListView 
     android:id="@+id/reminders_list"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"></ListView>
...<!--More stuff below-->
Run Code Online (Sandbox Code Playgroud)

我的问题是当我尝试添加更多行时它不起作用,因为如果没有更多空间,适配器不会添加更多视图.至少在这种情况下.这意味着我需要动态调整大小.问题是如何做到这一点?如果除了调整大小之外的东西是可能的,我宁愿这样做.提前致谢.

Ven*_*nky 5

问题在于你 android:layout_height="wrap_content"

将高度设置为wrap_content将仅显示前三行,其余将被忽略.尽量做到android:layout_height="fill_parent"

正如Romain Guy(谷歌工程师在UI工具包上工作)所​​说的那样

通过将width设置为wrap_contenty,可以告诉ListView与其最宽的子节点一样宽.因此,ListView必须测量其项目并获取必须在适配器上调用getView()的项目.这可能会发生几次,具体取决于布局传递的数量,父布局的行为等.

因此,如果将ListView的布局宽度或布局高度设置为wrap_content,ListView将尝试测量附加到它的每个视图 - 这绝对不是您想要的.

请记住:避免一直为ListViews或GridViews设置wrap_content,有关详细信息,请参阅此Google I/O视频,了解listview的世界

动态添加行到列表视图Link_1

动态地将行添加到列表视图Link_2

动态添加行到列表视图Link_3

动态添加行到列表视图Link_4