2010-10-13 111 views
0

我的適配器包含以下意見:如何檢索正確的視圖?

private static class ViewHolder { 
ImageView p_Image; 
TextView p_Name; 
TextView p_Price; 
TextView p_Psave; 
} 

這是我如何實現onItemClick:

gridView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View v, int position, long id) {  
      } 
     }); 

我怎麼能知道從上述4查看實際被按下(同時通過GridView控件運行OnItemClickListener) ?

由於

回答

1

的第二個參數onItemClickView v是被點擊的視圖的參考。你可以將它與你的觀點進行比較,看看它是哪一個。

+0

嗨, 該視圖將包含ViewHolder對象,但我怎麼知道在ViewHolder中選擇了哪個視圖? (ImageView的p_Image或TextView的p_Name或TextView的p_Price或TextView的p_Psave) 任何代碼示例將有助於 感謝 – chen 2010-10-14 07:03:29

+0

哦,我明白了,你是爲上市在GridView上單擊事件,而不是在單個項目。在這種情況下,不幸的是,沒有一種簡單的方法可以確定哪個子組件被點擊。如果您關心這一點,那麼您應該爲每個單獨的視圖添加一個點擊偵聽器,而不是傾聽網格視圖項目的點擊。請記住,人們往往很難點擊小區域。點擊網格項目然後獲取更多選項,或者進入細節屏幕(他們有更多選擇),您可能會更好。 – 2010-10-14 15:57:19