是否可以使用String设置ImageViews id?
我正在以编程方式添加ImageViews,我想将ID设置为“IMG12a”
ImageView image = new ImageView(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(100, 100);
params.leftMargin = X;
params.topMargin = Y;
image.setLayoutParams(params);
image.setScaleType(ImageView.ScaleType.CENTER_CROP);
image.setImageResource(IMG);
image.setId(?????);
theLayout.addView(image);
答案 0 :(得分:3)
不,但您可以改用setTag (int key, Object tag)
或setTag (Object tag)
。
http://developer.android.com/reference/android/view/View.html#setTag(int, java.lang.Object) http://developer.android.com/reference/android/view/View.html#setTag(java.lang.Object)
分别获取getTag (int key)
或getTag ()
标记。
http://developer.android.com/reference/android/view/View.html#getTag(int) http://developer.android.com/reference/android/view/View.html#getTag()
然后,您需要将返回的Object
投射到String
。
答案 1 :(得分:1)
使用setId无法实现
你应该使用setTag(Object tag)
(你可以使用一个字符串,你不需要将它转换为一个对象)。
并使用View.findViewWithTag(Object tag)
以获取视图并对其进行修改。
如果您需要获取标记,请使用getTag()
。和getTag().toString()
以便将其作为字符串。