2015-01-21 68 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

相关问题