Android中的图库自动滚动问题

时间:2011-10-26 04:42:57

标签: android android-gallery baseadapter

我已经玩了一段时间的Gallery View,我已经掌握了基本的东西。但是,我有滚动问题。我试图在谷歌搜索,并没有得到这个问题的简单解决方案。我正在使用基本适配器加载图像,一旦完成,我需要移动到特定位置(读取自动滚动)。我面临的问题是,假设我在画廊中加载了50张图像,我想要移动到第30个位置,我只需要调用gallery.setSelection(30),我应该完成。这仅在从按钮单击调用时才有效。但是,我希望在活动负载本身上做同样的事情。一旦我将BaseAdapter与库绑定,我就无法确定何时完成绑定。我将不胜感激任何帮助。这就是我绑定适配器的方式。

        gallery = (Gallery) findViewById(R.id.wpGallery);
    ImageAdapter imgAdapter = new ImageAdapter(this);
    gallery.setAdapter(imgAdapter);     

我想移动到给定位置,并且一旦移动到该位置也会触发onClickEvent。

1 个答案:

答案 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。