Android根据它的标记获取视图ID

时间:2016-01-04 19:16:50

标签: java android xml

有没有办法根据它的XML标记获取findViewById(R.id.tableLayout)中的ID?

例如Java等同于这些行的东西: GET $id OF view WHERE 'tag' IS n

抱歉看起来更像是SQL,但我认为这会让我的问题更加清晰。

我希望能够根据它的标签找到一个视图,然后使用类似的东西将其转换为按钮。

Button b = (Button) findViewById(android.R.id.button1);

1 个答案:

答案 0 :(得分:2)

您可以使用View#findViewWithTag("someTag")引用视图,然后从视图中获取ID。

View view = findViewWithTag("someTag");
int id = view.getId();

按钮相同

Button b = (Button) findViewWithTag("someTag");
int id = b.getId();

的引用: http://developer.android.com/reference/android/view/View.html#findViewWithTag(java.lang.Object) http://developer.android.com/reference/android/view/View.html#getId()

编辑:如果你在活动中(onCreate内)你可以做到这一点

// create the Activity's view
View root = LayoutInflater.from(this).inflate(R.layout.myLayout, null);
// set the view
setContentView(root);
// find another view by the tag of the root view
Button b = (Button) root.findViewWithTag("someTag");