我有一个列表视图,它动态分配不同的数据集。这很好用。我还使 fastScrollEnabled 为 true。为了更新sectionIndexer,我需要调用
list.setFastScrollEnabled(false);
list.setFastScrollEnabled(true);
问题是索引显示在左上角,这是一个已知问题。作为解决方法,每当我更改方向时,索引都会再次正确显示。为了测试这一点,我实现了一个自定义 ListView,观察结果是,如果我可以强制 listView 调用 onSizeChanged() ,它将正确显示。
现在的问题是:
是否可以强制listView调用onSizeChanged()方法?如果是的话我们怎样才能做到这一点。
有谁知道调用 onSizeChanged() 时的条件。当方向改变时,或者我们能想到的任何其他条件,它肯定会被调用。
要在 ListView 上强制 onSizeChanged,我执行以下操作:
myList.getLayoutParams().height = myList.getHeight() + 1;
myList.requestLayout();
请确保不要每次都调用 +1 或 -1,因为列表可能会过度拉伸指定的大小,因此使用标志在 +1 和 -1 之间切换。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)