我已经玩了一段时间的Gallery View,我已经掌握了基本的东西。但是,我有滚动问题。我试图在谷歌搜索,并没有得到这个问题的简单解决方案。我正在使用基本适配器加载图像,一旦完成,我需要移动到特定位置(读取自动滚动)。我面临的问题是,假设我在画廊中加载了50张图像,我想要移动到第30个位置,我只需要调用gallery.setSelection(30),我应该完成。这仅在从按钮单击调用时才有效。但是,我希望在活动负载本身上做同样的事情。一旦我将BaseAdapter与库绑定,我就无法确定何时完成绑定。我将不胜感激任何帮助。这就是我绑定适配器的方式。
gallery = (Gallery) findViewById(R.id.wpGallery);
ImageAdapter imgAdapter = new ImageAdapter(this);
gallery.setAdapter(imgAdapter);
我想移动到给定位置,并且一旦移动到该位置也会触发onClickEvent。
答案 0 :(得分:0)
我不确定这是否有效。但值得一试。
将此代码放入onCreate
ViewTreeObserver vto = gallery.getViewTreeObserver();
vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
gallery.getViewTreeObserver().removeGlobalOnLayoutListener(this);
DO WHATEVER YOU NEED TO DO.
}
});
在视图组布局在屏幕上后调用OnGlobalLayoutListener。你应该可以在这里做setSelection。