2011-03-14 85 views
0

我顯示使用廊類onItemClick上圖庫視圖

我使用以下代碼的多個圖像,以

private SampleGallery mGalleryView1 = null; 


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

SampleGallery類擴展廊

我面臨的問題是當我點擊圖片時,

來自以下方法

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

我得到作爲無像「13878342720」 &任何不象「0」,「1」值的圖像的位置。

實際上基於位置值,我正在做一些邏輯計算,因此結束得到「ArrayIndexOutOfBoundsException」,因爲位置值沒有返回任何東西。

請提供您的輸入,爲什麼位置正在返回。

回答

0

我發現了從下面的代碼

public void onItemClick(AdapterView<?> l, View v, int position, long id) {} 
在我的情況

,長ID將返回我的確切位置,當我點擊圖庫中的圖片。現在

int localPostion = (int) id ; 

,我可以使用localPosition &使用如果邏輯計算

0

好像按照你的代碼行導致此

private SampleGallery mGalleryView1 = null; 

這是您的畫廊設置爲null而這就是爲什麼你讓你的聽衆onItemClick垃圾位置。

你有沒有試過向它添加一些元素,然後點擊它?

0

您聲明mGalleryView1SampleGallery,但你是tycasting,作爲ZoomGallery,你在你的佈局XML提到你galleryView1。你必須聲明你的mGalleryView1

+0

@chiranjib:編輯不會用於響應別人的答案。改爲留言。 – BoltClock 2011-03-14 09:35:00

+0

我錯誤地將SampleGallery輸入爲ZoomGallery。另外,我在佈局xml中包含了galleryView1,但我還是得到了這個值 – chiranjib 2011-03-14 09:38:19

+0

@chiranjib:* -facepalm- *並且當我們已經拒絕了編輯時,您不需要編輯修改,以前的編輯... – BoltClock 2011-03-14 09:38:49