在我的Android应用程序中,我已经动态创建了3个网格视图。它是代码。它显示了3个网格视图。
for (int i=0; i<2; i++) {
LinearLayout inflatedView = (LinearLayout)mInflater.inflate(R.layout.library_gallery, null);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, 300);
inflatedView.setLayoutParams(layoutParams);
mGridView = (GridView) inflatedView.findViewById(R.id.library_gallary);
if(Thambs!=null){
mGridView.setAdapter(new LibraryGalleryAdapter(mContext,Thambs1));
setResourse(i,Names,values1);
}
}
现在我想要唯一地识别这3个动态创建的网格视图的点击事件。 好吗?
修改
mGridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> av, View v,final int posision, long id) {
Log.e(TAG, "id : "+v.getId());
}
但它会为每个网格视图点击
返回相同的ID答案 0 :(得分:1)
使用gridView.setOnItemClickListener。在单击侦听器中,use parent.getId
以查找父级的ID。如果您有多个网格视图,则应调用gridView.setId()
将其设置为唯一的网格。
答案 1 :(得分:0)
尝试在onItemclick()中使用view.getId()。
答案 2 :(得分:0)
对于每个mGridView
,您需要单独的View.onClickListener
接口实施或单个View.onClickListener
实施,并使用View.getId()
区分每个网格(作为 vishwa 指出)。这取决于你想对每个网格做什么,以及你希望它们如何表现。
答案 3 :(得分:0)
首先,你需要在你的类中实现onItemclickListener接口,然后你需要通过onItemClickListener中的第二个参数获取点击视图的view.getId()来检查所点击的项目是从哪个网格视图。
然后您可以识别单击哪个视图通过使用OnItemclicked()的第一个参数(即父级)检查单击的视图是GridView的子视图,检查该父级是哪个gridview然后相应地为该视图执行操作。
希望这个解释对你有用..