HTTP リクエストを実行して結果を取得しています。次に、これらの結果をスクロールして、結果ごとに次のように作成します: (RL = Relative Layout)
内部に TextView と ImageView がある相対レイアウト (写真の RL)。次に、これらの「コンテナ」をすべてリストに追加し、解釈のために渡したいと思います。
//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);
私は基本的に、プログラムでコンテナーを作成し、その中に 2 つのものを入れて、さらに処理するために送信したいと考えています。
(これは可能ですか、またはこれを行うためのより良い方法はありますか?) *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)