onItem点击GalleryView

时间:2011-03-14 09:16:25

标签: android

我使用Gallery类显示多个图像

我正在使用以下代码

private SampleGallery mGalleryView1 = null;


mGalleryView1 = (SampleGallery) findViewById(R.id.galleryView1);
mGalleryView1.setOnItemClickListener(this); 

SampleGallery类扩展了Gallery

我面临的问题是,当我点击图片时,

来自以下方法

public void onItemClick(AdapterView<?> l, View v, int position, long id) {}

我得到的图像位置不像“13878342720”&amp;没有任何像“0”,“1”的值。

实际上基于位置值,我正在进行一些逻辑计算,所以结束得到“ArrayIndexOutOfBoundsException”,因为位置值没有返回任何内容。

请提供您的意见,以及为何该职位被退回。

3 个答案:

答案 0 :(得分:0)

似乎代码中的以下行导致此

private SampleGallery mGalleryView1 = null; 

这是将您的图库设置为null,这就是您在onItemClick侦听器中获取垃圾位置的原因。

您是否尝试过添加一些元素然后点击它?

答案 1 :(得分:0)

您宣布mGalleryView1SampleGallery,但您的投标为ZoomGallery。当您在提及mGalleryView1时,必须声明galleryView1布局XML。

答案 2 :(得分:0)

我发现了以下代码

public void onItemClick(AdapterView<?> l, View v, int position, long id) {}

在我的情况下,当我点击图库上的图像时,长ID会返回我的确切位置。

int localPostion = (int) id ;

现在,我可以使用localPosition&amp;使用if进行逻辑计算