2015-11-11 48 views
0

我生成TextViews並將它們添加到這樣一個相對佈局:程序生成TextViews打印在循環中相互

RelativeLayout relativeLayout2 = (RelativeLayout) findViewById(R.id.rl_root); 

for(int i = 0; i < 5; i++) 
{ 
    TextView textvw = new TextView(this); 
    textvw.setText(Integer.toString(i)); 
    relativeLayout2.addView(textvw); 
    for(int j = 0; j < 10; j++) 
    { 
    TextView textvw2 = new TextView(this); 
    textvw2 .setText(Integer.toString(j+5)); 
    relativeLayout2.addView(textvw2); 
    } 
} 

當我做到這一點,所有textViews在同一個地方進行打印。我希望他們出現在對方之下。我的意思是第一個將在頂部,而第二個在頂部以下。我怎樣才能做到這一點?謝謝。

+4

嘗試使用垂直Linearlayout而不是RelativeLayout。 – TdSoft

+0

@TdSoft它的工作,謝謝。 – jason

+0

不客氣。 – TdSoft

回答

1

使用線性佈局而不是相對佈局,並將方向設置爲垂直,如果您希望它一個在另一個之下。

LinearLayout linearLayout2 = (LinearLayout) findViewById(R.id.rl_root); 
for(int i = 0; i < 5; i++) { TextView textvw = new TextView(this); 
textvw.setText(Integer.toString(i)); 
relativeLayout2.addView(textvw); for(int j = 0; j < 10; j++) { TextView textvw2 = new TextView(this); 
textvw2 .setText(Integer.toString(j+5)); 
linearLayout2.addView(textvw2); } }