3

是否可以使用字符串设置 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);
4

2 回答 2

3

不,但您可以使用setTag (int key, Object tag)orsetTag (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.

于 2013-01-24T01:07:04.833 回答
1

使用 setId 是不可能的,

你应该使用setTag(Object tag)(你可以使用一个字符串,你不需要将它转换为一个对象)。

并使用View.findViewWithTag(Object tag)以获取视图并对其进行修改。

如果您需要获取标签,请使用getTag()getTag().toString()为了得到它作为一个字符串。

于 2013-01-24T18:02:13.503 回答