2015-01-21 32 views
0

大家好! 我的問題是:父適配器是一個ListAdapter和孩子一個是一個GalleryAdapter。需要通過點擊項目庫,顯示(真實)圖像,但我無法得到正確的lPosition,即ListAdapter(父適配器)的位置。如何從android中的子適配器獲取父位置?

public class PostListAdapter ex...{ 
    int lPosition; 
    int lPosition=??? 
    ..... 
    public View getView..{ 
      ... 
      gallery.setOnItemClickListener(new OnItemClickListener() { 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int gPosition, long id) { 

       activity.mainFragment.startImagePagerActivity(gPosition,lPosition); 
       } 
      }); 
    } 
} 
+0

u能請交適配器數據的整個代碼..我的意思是你通過作爲一個集合顯示父視圖數據和子數據太... – user1140237 2015-01-21 07:42:01

+0

都..並請解釋清楚 – user1140237 2015-01-21 07:44:41

+0

user1140237謝謝,我解決了,由dangVarmit的答案 – mdzht 2015-01-21 07:52:47

回答

1

使用setTag()到lPosition添加到您所創建(或回收),然後檢索每個視圖如果在onItemClick調用

public class PostListAdapter ex...{ 
 
    int lPosition; 
 
    int lPosition=??? 
 
    ..... 
 
    public View getView..{ 
 
      ... 
 
      gallery.setTag(lPosition); 
 
      gallery.setOnItemClickListener(new OnItemClickListener() { 
 
       @Override 
 
       public void onItemClick(AdapterView<?> parent, View view, int gPosition, long id) { 
 
       int lPos = (int)parent.getTag(); 
 
       activity.mainFragment.startImagePagerActivity(gPosition,lPos); 
 
     } 
 
    }); 
 
    } 
 
}

+0

謝謝你。身份證確實如此,但我已經有了n。。因爲我試圖從視圖獲取值,即int lPos =(int)view.getTag();你不能說,如何從relativeLayout獲取標籤? – mdzht 2015-01-21 07:51:39

+0

您應該在畫廊上設置標記,該標記作爲AdapterView 父參數傳遞到onItemClick ..而不是視圖視圖參數。確保你使用的是parent.getTag() – dangVarmit 2015-01-21 07:53:53

相關問題