如何通过Android中的布局获取id视图?

时间:2013-09-19 23:49:37

标签: android android-view

这是我能找到的唯一方法,但看起来很糟糕:

public View getViewByIdFromLayout(int id) {
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        if (v.getId() == id)
            return v;
    }
    return null;
}

有更好的方法吗?这些视图是以编程方式创建的,而不是通过xml创建的,视图的ID在给定的布局中是唯一的,但可以在其他布局中重复使用。

2 个答案:

答案 0 :(得分:3)

只要您提供了ID,您仍然可以使用findViewById()。只需确保在ID 唯一的布局上调用findViewById()

答案 1 :(得分:0)

你应该改变

 if (v.getId() == id)
        return v;

 if (v.getId().equals(id))
        return v;