ɹɐqʞɐ zoɹǝɟ ɹɐqʞɐ zoɹǝɟ - 1 month ago 5
Android Question

Android: how to get grid-view item Tag by its position from with-in Another grid-view's set-on-item-click listener function?

How can I get a

grid-view
's item tag by its position and have to get from another
grid-view
's item click listener function.

gridview2.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,
int position, long id)
{
int i=(Integer)gridview1.getChildAt(gridview1s_position).getTag();---> it is returning Null
}
});


MY
gridview1.setOnitemClicklistener
and
gridview2.setonitemclicklistener
are in the same file (
MainActivity.java
)

But the
gridview1
adapter is a
ImageAdapter.java
(this is for setting the images in the gridview1) and
gridview2
adapter is
imageadapter2.java
(this is for setting black images so that the
gridview2
looks like a box with rows and columns, otherwise it is showing like a Bold line because we didn't put anything in the gridview)

gridview1.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v,int position, long id)
{
int tag=(Integer)gridview1.getChildAt(position).getTag();//this returning the tag
}
});


ImageAdapter1.java

public View getView(int arg0, View arg1, ViewGroup arg2) {
// TODO Auto-generated method stub


if(arg1!=null)
{
imv=(ImageView)arg1;
}
else
{
imv=new ImageView(cont);
imv.setLayoutParams(new GridView.LayoutParams(40,40));
imv.setScaleType(ScaleType.CENTER_CROP);
imv.setPadding(0,0,0,0);

}
imv.setImageResource(imageid[arg0]);//imageid aray is having drawable images
imv.setTag(imageid[arg0]);
return imv;

}


gridview2

gridview2.setOnItemClickListener(new OnItemClickListener()
{
ImageAdapter ia=new ImageAdapter(getApplicationContext());
public void onItemClick(AdapterView<?> parent, View v,int position, long id)
{
ImageView imv;
if(v!=null)
{
imv=(ImageView)v;
}
else
{
imv=new ImageView(getApplicationContext());
imv.setLayoutParams(new GridView.LayoutParams(40,40));
imv.setScaleType(ScaleType.CENTER_CROP);
imv.setPadding(0,0,0,0);
imv.setBackgroundColor(5555);

}

imv.setImageResource(ia.imageid[tt]);
}
});

Answer

Finally myself i got the solution for my question.Thank you for all who gave their valuable suggestions.

i saved the tag of a particullar cell of grid-view1 in a variable and used that variable in the grid-view2.