为ListView强制onSizeChanged

Pra*_*nCG 7 android android-layout android-listview

我有一个listview,动态分配不同的数据集.这很好用.我也使fastScrollEnabled成为现实.对于要更新的​​sectionIndexer,我需要调用

list.setFastScrollEnabled(false);
list.setFastScrollEnabled(true);
Run Code Online (Sandbox Code Playgroud)

问题是左上方的索引显示,这是一个已知的问题.作为解决方法,每当我更改方向时,都会再次正确显示索引.为了测试这个我已经实现了一个自定义ListView,观察是如果我可以强制listView调用onSizeChanged()它将正确显示.

现在的问题是:

是否可以强制listView调用onSizeChanged()方法?如果是,我们怎样才能做到这一点.

有没有人知道调用onSizeChanged()时的条件.当方向改变时,我们可以想到任何其他条件.

Pra*_*nCG 7

要在ListView上强制onSizeChanged,我执行以下操作:

myList.getLayoutParams().height = myList.getHeight() + 1;
myList.requestLayout();
Run Code Online (Sandbox Code Playgroud)

请确保每次都不要调用+1或-1,因为列表可能只是过大地指定了大小,因此使用标志在+1和-1之间切换.