我正在執行HTTP請求並獲取結果。然後,我想通過這些結果中滾動,併爲每個結果如下: (RL =相對佈局)以編程方式安裝Android容器
甲相對佈局(RL在PIC)在內側一個TextView和ImageView的。然後,我想將所有這些「容器」添加到列表中,並將它們傳遞給解釋。
//inside onPostExecute - given a list
List<RelativeLayout> containers = new ArrayList<RelativeLayout>();
for(i=0; i<alist.size();i++){
RelativeLayout newLayout = new RelativeLayout(getApplicationContext());
TextView tv = new TextView(getApplicationContext());
ImageView iv = new ImageView(getApplicationContext());
newLayout.addView(tv);
newLayout.addView(iv);
containers.add(newLayout);
}
otherClass.send(containers);
我基本上想要以編程方式創建一個容器,在其中放入兩件東西,並將其發送給進一步處理。
(這是可能的,或者是有沒有更好的方式來做到這一點?)* EDITED
在此先感謝您的幫助,我已經花了很多時間在這已經
*我曾經嘗試這樣做,它會拋出試圖通過佈局的名單,我認爲
只是要增加更多的在這裏當一個例外:
public void send(List<RelativeLayout> containers) {
for(int i=0; i<containers.size(); i++){
RelativeLayout rl = new RelativeLayout(mContext);
rl = containers.get(i);
icons_row.addView(rl);
}
}
和異常
03-29 10:20:32.290: E/AndroidRuntime(29782): FATAL EXCEPTION: main
03-29 10:20:32.290: E/AndroidRuntime(29782): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
03-29 10:20:32.290: E/AndroidRuntime(29782): at android.view.ViewGroup.addViewInner(ViewGroup.java:3618)
03-29 10:20:32.290: E/AndroidRuntime(29782): at android.view.ViewGroup.addView(ViewGroup.java:3489)
03-29 10:20:32.290: E/AndroidRuntime(29782): at android.view.ViewGroup.addView(ViewGroup.java:3434)
03-29 10:20:32.290: E/AndroidRuntime(29782): at android.view.ViewGroup.addView(ViewGroup.java:3410)