2015-04-06 56 views
0

我有問題,找到android的父視圖的childviews,我這樣做的Android,找到父視圖的childviews

  • 我有2個textviews和1個編輯文本視圖相對佈局(例如調用這個全視圖C1)
  • 我使用linearlyt.addView(C1)
  • 添加多個這樣子視圖父視圖

後加入許多這樣的子視圖linearlyt上述視圖C1添加到線性佈局, 一世開始填寫每個子視圖的編輯文本,問題是我怎麼就能得到上述內容/文本集子視圖的TextView其編輯文本被填充out.TIA

回答

1

試試這個..

public void findEditText(View parentview) { 
     if (!(parentview instanceof EditText)) { 
      System.out.println(((EditText)parentview).getText()); 
     } 
     // If a layout container, iterate over children and seed recursion. 
     if (parentview instanceof ViewGroup) { 

      for (int i = 0; i < ((ViewGroup) parentview).getChildCount(); i++) { 
       View innerView = ((ViewGroup) parentview).getChildAt(i); 
       findEditText(innerView); 
      } 
     } 
    } 
0

第一個答案是好的。如果你需要一些更具體的給你的情況給定你的行的恆定結構...:

for (int i = 0; i < yourLinearLayout.getChildCount(); i++) { 
    RelativeLayout relativeLayout = (RelativeLayout) yourLinearLayout.getChildAt(i); 
    TextView textView1 = relativeLayout.getChildAt(0); 
    TextView textView2 = relativeLayout.getChildAt(1); 
    EditText editText = relativeLayout.getChildAt(2); 
    ... 
}