android动态屏幕字段放置

android动态屏幕字段放置,android,dynamic,screen,Android,Dynamic,Screen,我正在构建一个需要动态创建屏幕的应用程序。我想创建一系列具有4个文本字段的相同行。我遗漏了一些内容,因为所有字段都列在前一个字段下 我的代码循环: LayoutParams lParm = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); for(int i = 0; i < 10; i++) { TextView tvItem = new TextVi

我正在构建一个需要动态创建屏幕的应用程序。我想创建一系列具有4个文本字段的相同行。我遗漏了一些内容,因为所有字段都列在前一个字段下

我的代码循环:

    LayoutParams lParm = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

    for(int i = 0; i < 10; i++) 
    {
        TextView tvItem = new TextView(this);
        tvItem.setLayoutParams(lParm);
        tvItem.setText("Item #"+i);
        tvItem.setBackgroundColor(0xff66ff66);
        tvItem.setEms(7);
        tvItem.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
        ll.addView(tvItem);

        EditText etPrep = new EditText(this);
        etPrep.setLayoutParams(lParm);
        etPrep.setText("0");
        etPrep.setEms(2);
        ll.addView(etPrep);

        EditText etOpen = new EditText(this);
        etOpen.setLayoutParams(lParm);
        etOpen.setText("0");
        etOpen.setEms(2);
        ll.addView(etOpen);

        EditText etCase = new EditText(this);
        etCase.setLayoutParams(lParm);
        etCase.setText("0");
        etCase.setEms(2);
        ll.addView(etCase);

    }
LayoutParams lParm=新的LayoutParams(LayoutParams.WRAP\u内容,LayoutParams.WRAP\u内容);
对于(int i=0;i<10;i++)
{
TextView tvItem=新的TextView(本);
tvItem.setLayoutParams(lParm);
tviitem.setText(“项目#”+i);
tviitem.setBackgroundColor(0xff66ff66);
tveitem.setEms(7);
tvItem.setTextSize(TypedValue.COMPLEX\u UNIT\u SP,18);
ll.addView(tvItem);
EditText etPrep=新的EditText(本);
etPrep.setLayoutParams(lParm);
etPrep.setText(“0”);
etPrep.setEms(2);
ll.addView(etPrep);
EditText etOpen=新的EditText(本);
etOpen.setLayoutParams(lParm);
etOpen.setText(“0”);
etOpen.setEms(2);
ll.addView(etOpen);
EditText etCase=新的EditText(本);
setLayoutParams(lParm);
etCase.setText(“0”);
etCase.setEms(2);
ll.addView(etCase);
}
在循环中添加的每个视图必须彼此相邻。在进入下一行之前


我缺少什么?

为每行创建内部
线性布局,如下所示:

LinearLayout outer = new LinearLayout(this);
outer.setOrientation(LinearLayout.VERTICAL);

LayoutParams lParm = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

for(int i = 0; i < 10; i++) 
{

    LinearLayout inner = new LinearLayout(this);
    inner.setOrientation(LinearLayout.HORIZONTAL);

    TextView tvItem = new TextView(this);
    tvItem.setLayoutParams(lParm);
    tvItem.setText("Item #"+i);
    tvItem.setBackgroundColor(0xff66ff66);
    tvItem.setEms(7);
    tvItem.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
    inner.addView(tvItem);

    EditText etPrep = new EditText(this);
    etPrep.setLayoutParams(lParm);
    etPrep.setText("0");
    etPrep.setEms(2);
    inner.addView(etPrep);

    EditText etOpen = new EditText(this);
    etOpen.setLayoutParams(lParm);
    etOpen.setText("0");
    etOpen.setEms(2);
    inner.addView(etOpen);

    EditText etCase = new EditText(this);
    etCase.setLayoutParams(lParm);
    etCase.setText("0");
    etCase.setEms(2);
    inner.addView(etCase);

    outer.addView(inner);

}
LinearLayout outer=新的LinearLayout(此);
外部。设置方向(线性布局。垂直);
LayoutParams lParm=新的LayoutParams(LayoutParams.WRAP\u内容,LayoutParams.WRAP\u内容);
对于(int i=0;i<10;i++)
{
LinearLayout inner=新的LinearLayout(本);
内部。设置方向(线性布局。水平);
TextView tvItem=新的TextView(本);
tvItem.setLayoutParams(lParm);
tviitem.setText(“项目#”+i);
tviitem.setBackgroundColor(0xff66ff66);
tveitem.setEms(7);
tvItem.setTextSize(TypedValue.COMPLEX\u UNIT\u SP,18);
inner.addView(tvItem);
EditText etPrep=新的EditText(本);
etPrep.setLayoutParams(lParm);
etPrep.setText(“0”);
etPrep.setEms(2);
inner.addView(etPrep);
EditText etOpen=新的EditText(本);
etOpen.setLayoutParams(lParm);
etOpen.setText(“0”);
etOpen.setEms(2);
inner.addView(etOpen);
EditText etCase=新的EditText(本);
setLayoutParams(lParm);
etCase.setText(“0”);
etCase.setEms(2);
inner.addView(etCase);
外部.addView(内部);
}

线性布局
(外部)具有垂直方向,内部
线性布局
具有水平方向?例如
ll.setOrientation(水平线性布局)?将所有字段添加到一行。我已经有了垂直设置。检查我的答案,这就是我的意思。是的,就在你发帖之前,灯泡亮了。谢谢@用户3645763所以,当您的问题解决后,将答案标记为已接受(在左侧打勾)。