9

在我的应用程序中,我有一个图片库,

但我想检测当前显示图像的位置,

例如:当我启动我的活动时,位置是 0,但是当我在我的画廊中滚动时,我想获得显示的当前图像的位置,

我试过 OnFocusChanged , OnItemClicked ,但只有当我点击我画廊的一个项目时才有效

有任何想法吗 !:(

4

3 回答 3

22
gal.setOnItemSelectedListener(new OnItemSelectedListener(){
            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {
            //Do something with position
            }
};

每次将画廊中的新项目放在中心时,您都会收到此回调,因此请注意不要做任何密集工作,因为如果用户快速滚动,您将收到他们通过的每个项目的回调。

于 2011-05-13T15:32:03.940 回答
9

要消除投掷期间的事件,除了 setOnItemSelectedListener() 调用之外,还可以添加:

gal.setCallbackDuringFling(false);
于 2011-11-30T14:45:50.030 回答
7

采用Gallery.getSelectedItemPosition()

于 2011-05-13T15:43:12.007 回答