我在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");
但我得到一个错误
解决方法:
从API 17开始,View类引入了静态方法generateViewId(),该方法将生成适合在setId(int)中使用的值.
setId(int id)simlpy将正整数作为输入.
您正在尝试从资源中获取ID.这是您正在尝试做的事情:How to set Id of dynamic created layout?
标签:android
来源: https://codeday.me/bug/20191122/2058921.html