私の要件は、3 つのビュー (つまり、ImageView、TextView、TextView) を垂直方向に動的に表示することです。
以下のプログラムが気に入りました。しかし、それは機能していません。誰か助けてください。以下のコードを参照してください
for (int i = 0; i < 10; i++) {
final RelativeLayout relativeLayout=new RelativeLayout(this);
final ImageView imageView=new ImageView(this);
imageView.setId(100+i);
imageView.setBackgroundResource(R.drawable.ic_launcher);
final RelativeLayout.LayoutParams newParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
relativeLayout.post(new Runnable() {
@Override
public void run() {
relativeLayout.addView(imageView);
}
});
final TextView textView=new TextView(this);
textView.setId(200+i);
String data="Click"+"\n"+"Show";
textView.setText("click");
newParams.addRule(RelativeLayout.BELOW, imageView.getId());
newParams.addRule(RelativeLayout.ALIGN_LEFT, imageView.getId());
relativeLayout.post(new Runnable() {
@Override
public void run() {
relativeLayout.addView(textView, newParams);
}
});
final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
final TextView text=new TextView(this);
text.setId(200+i);
//String data="Click"+"\n"+"Show";
text.setText("data");
params.addRule(RelativeLayout.BELOW, textView.getId());
params.addRule(RelativeLayout.ALIGN_LEFT, textView.getId());
relativeLayout.post(new Runnable() {
@Override
public void run() {
relativeLayout.addView(text, params);
}
});
linearLayout.post(new Runnable() {
@Override
public void run() {
linearLayout.addView(relativeLayout);
}
});
}