She*_*bic 8 android android-listview
我有一个带有自定义适配器的长GridView,我怎么知道GridView何时完全显示并准备好了?
这是代码中的问题:
dashboard = (GridView) findViewById(R.id.dashboard);
dashboard.setAdapter(new ListItemsAdapter(this, allIcons));
AlertSomeItemsOfTheListView();
Run Code Online (Sandbox Code Playgroud)
在序列中,在完全绘制GridView之前执行方法"AlertSomeItemsOfTheListView".
Pio*_*otr 19
您可以ViewTreeObserver为您获取实例GridView并使用它来监听诸如此类的事件onLayout.你可以得到ViewTreeObserver你的View使用View.getViewTreeObserver().我不确定onLayout事件对你来说是否足够,因为它并不完全意味着a View已完全绘制但你可以尝试一下.
这里有一个代码示例,您可以使用它来监听onLayout事件(您可以使用此类代码,例如在onCreate您的方法中Activity):
dashboard.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
AlertSomeItemsOfTheListView();
// unregister listener (this is important)
dashboard.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
Run Code Online (Sandbox Code Playgroud)
注意:在调用侦听器后取消注册是很重要的.如果你不这样做,它将在每个onLayout不是我们想要的事件上被调用(我们希望它只执行一次).
| 归档时间: |
|
| 查看次数: |
6528 次 |
| 最近记录: |