我在GridViewAdapter类中创建了一个imageView:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Try to reuse the views
ImageView view = (ImageView) convertView;
boolean checked = (mCheckBox==null)?false:(((CheckBox) mCheckBox).isChecked());
// if convert view is null then create a new instance else reuse it
if (view == null) {
view = new ImageView(Context);
//view.setTag(ViewId(), "imageViewGRID");
view.setId(R.id.1);
Log.d("GridViewAdapter", "new imageView added");
}
但是我不确定如何使用.setId以便我可以在此行的另一个类中使用此imageView:
ImageView imageView1 = (ImageView)v.findViewById(R.id.1);
有人可以清楚这是如何运作的吗?
请注意我也尝试过:
view.setTag("imageView4Grid");
带
ImageView imageView1 = (ImageView)v.findViewWithTag("imageView4Grid");
但是我收到了错误
答案 0 :(得分:3)
Heyyy,请查看此链接:Android: View.setID(int id) programmatically - how to avoid ID conflicts?。
从API 17开始,View
类引入了静态方法generateViewId()
,它将生成一个适合在setId(int)
中使用的值。
setId(int id)
simlpy将正整数作为输入。
您正在尝试从资源中获取ID。这是你正在尝试做的事:How to set Id of dynamic created layout?