Java 想在android中动态显示三个垂直视图吗

Java 想在android中动态显示三个垂直视图吗,java,android,Java,Android,我的要求是,我想以垂直方式动态显示三个视图(即ImageView、TextView、TextView) 我确实喜欢下面的节目。但是它不工作。有人能帮我吗。请看下面的代码 for (int i = 0; i < 10; i++) { final RelativeLayout relativeLayout=new RelativeLayout(this); final ImageView imageView=new ImageView(this); imageV

我的要求是,我想以垂直方式动态显示三个视图(即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);

        }
    });
    }
for(int i=0;i<10;i++){
最终RelativeLayout RelativeLayout=新的RelativeLayout(本);
最终图像视图=新图像视图(本);
imageView.setId(100+i);
imageView.setBackgroundResource(R.drawable.ic_启动器);
最终RelativeLayout.LayoutParams newParams=新RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_内容,
RelativeLayout.LayoutParams.WRAP_内容);
relativeLayout.post(新的Runnable(){
@凌驾
公开募捐{
relativeLayout.addView(图像视图);
}
});
最终文本视图文本视图=新文本视图(本);
textView.setId(200+i);
String data=“单击“+”\n“+”显示”;
textView.setText(“单击”);
newParams.addRule(RelativeLayout.down,imageView.getId());
newParams.addRule(RelativeLayout.ALIGN_LEFT,imageView.getId());
relativeLayout.post(新的Runnable(){
@凌驾
公开募捐{
relativeLayout.addView(文本视图,新参数);
}
});
最终RelativeLayout.LayoutParams参数=新的RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_内容,
RelativeLayout.LayoutParams.WRAP_内容);
最终文本视图文本=新文本视图(本);
text.setId(200+i);
//String data=“单击“+”\n“+”显示”;
text.setText(“数据”);
params.addRule(RelativeLayout.down,textView.getId());
params.addRule(RelativeLayout.ALIGN_LEFT,textView.getId());
relativeLayout.post(新的Runnable(){
@凌驾
公开募捐{
relativeLayout.addView(文本,参数);
}
});
linearLayout.post(新的Runnable(){
@凌驾
公开募捐{
linearLayout.addView(relativeLayout);
}
});
}

考虑使用
线性布局
设置为垂直方向。我发现它们更容易通过编程方式用于类似这样的事情

下面是一段示例代码:

LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
linearLayout.setOrientation(LinearLayout.VERTICAL);

linearLayout.addView(childView1);
linearLayout.addView(childView2);
linearLayout.addView(childView3);

rootView.addView(linearLayout);
childview 1
childview 2
childview 3
将垂直显示


当然,您需要相应地修改代码。

您是否考虑过使用方向设置为垂直的
LinearLayout
线性布局?如何使用代码为线性布局设置垂直方向。谢谢,现在我得到了正确的输出。首先,你能把图片贴到某个地方,让我们看看你的成就吗?其次,在这种情况下,ListView更好。。。