0

这是我能找到的唯一方法,但它似乎很老套:

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 在给定布局中将是唯一的,但可以在其他布局中重用。

4

2 回答 2

3

findViewById()只要你给了它一个ID,你仍然可以使用它。只需确保调用ID唯一findViewById()布局即可。

于 2013-09-19T23:52:12.810 回答
0

你应该改变

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

 if (v.getId().equals(id))
        return v;
于 2013-09-19T23:53:31.797 回答