2016-06-10 147 views
0

我在我的TableLayout中有很多行,我想訪問按鈕視圖。示例如下:子元素的孩子

<TableLayout> 
    <TableRow> 
     <Button /> 
     <Button /> 
    </TableRow> 
    <TableRow> 
     <Button /> 
     <Button /> 
    </TableRow> 
</TableLayout> 

從表格佈局中,我想通過按鈕循環。

TableLayout layout=(TableLayout) findViewById(R.id.Layout); 
layout.getChildCount; 

以上僅返回數字表行視圖。

+0

你會需要一些遞歸這個 –

+1

你爲什麼不給ID屬性爲每個按鈕和通過tableLayout.findViewById(R.id.yourButtonId)訪問它? – Talha

+0

謝謝,也將很好地工作,因爲每個按鈕都有一個唯一的ID ... –

回答

3

試試這個樣子,這可能是幫助你

TableLayout layout = (TableLayout) findViewById(R.id.Table_ID); 
for (int i = 0; i < layout.getChildCount(); i++) { 
View child = layout.getChildAt(i); 

if (child instanceof TableRow) { 
    TableRow row = (TableRow) child; 

    for (int x = 0; x < row.getChildCount(); x++) { 
     View view = row.getChildAt(x);//Here you get Your Button View 

    } 
} 
} 
+0

@the_big_blackbox永遠wlc –

0

試試這個:

TableLayout layout=(TableLayout) findViewById(R.id.Layout); 
for(int i=0;i<layout.getChildCount();i++) { 
    if (layout.getChildAt(i) instanceof TableRow) { 
     TableRow tableRow = (TableRow) layout.getChildAt(i); 
     for(int j=0;j<tableRow.getChildCount();j++) { 
      if (tableRow.getChildAt(j) instanceof Button) { 
       Button button = (Button) tableRow.getChildAt(j); 
       //your button is here 
      } 
     } 
    } 
}