Android 如何创建包含多个字段的行?

Android 如何创建包含多个字段的行?,android,dynamic,field,Android,Dynamic,Field,我想创建一个包含许多字段的行,如下所示: 欧盟“添加线字段”开发项目将在3个campos平台上完成 当前我的代码只插入一个EditText。代码: final List<EditText> newFields = new ArrayList<EditText>(); final LinearLayout ll = (LinearLayout)findViewById(R.id.llAddNewFields); Button btnCreateField

我想创建一个包含许多字段的行,如下所示:

欧盟“添加线字段”开发项目将在3个campos平台上完成

当前我的代码只插入一个EditText。代码:

final List<EditText> newFields = new ArrayList<EditText>();
    final LinearLayout ll = (LinearLayout)findViewById(R.id.llAddNewFields);
    Button btnCreateField = (Button)findViewById(R.id.btCreateField);
    btnCreateField.setOnClickListener( new View.OnClickListener() {
        public void onClick(View v) {               
            MY_COUNT++;
            EditText et = CriaeditText(String.valueOf(MY_COUNT));
            newFields.add(et);
            ll.addView(telefones.get(newFields.size()-1), new ViewGroup.LayoutParams(300,LayoutParams.WRAP_CONTENT));               
        }
    });
获取值​​只有一个编辑文本:

private EditText CriaeditText(String hint) {
    EditText editText = new EditText(this);
    editText.setId(Integer.valueOf(hint));
    editText.setHint(hint);
    editText.setTag(hint);
    return editText;
}
 private List getValuesDynamicField(LinearLayout l, List<EditText> li){
    String[] arrValues = null;
    List data = new ArrayList<String>();
    for (int i = 0; i < l.getChildCount(); i++)
    {
        if (l.getChildAt(i).getVisibility() != View.GONE)
        {
            String p = li.get(i).getText().toString();
            if (!p.equals(""))
            {
                data.add(p);
            }
        }
    }
    return data;                
}
私有列表getValuesDynamicField(线性布局l,列表li){
字符串[]arrValues=null;
列表数据=新的ArrayList();
对于(int i=0;i

如何调整我的代码以插入我想要的3个字段?

以下是动态添加包含三个编辑文本的行的代码

首先向布局xml文件添加一个表布局。添加将其id设置为“tablelayout”。然后在代码中

 TableLayout tl = (TableLayout)findViewById(R.id.tablelayout);

 TableRow tr = new TableRow(YourActivity.this);

 EditText edit1=new EditText(YourActivity.this);
 edit1.setPadding(5, 5, 5, 5);
 EditText edit2=new EditText(YourActivity.this);
 edit2.setPadding(5, 5, 5, 5);
 EditText edit3=new EditText(YourActivity.this);
 edit3.setPadding(5, 5, 5, 5);

 tr.addView(edit1);
 tr.addView(edit2);
 tr.addView(edit3);

 tl.addView(tr, new TableLayout.LayoutParams(
            LayoutParams.FILL_PARENT,
            LayoutParams.WRAP_CONTENT));

    }

为什么不能使用表格布局呢?我可以使用表格,但我想要的是如何动态插入1行3个字段。如何获取字段值​​? 之前在我的代码中,我有一个EditText数组,并得到遍历该数组的值。创建字段的代码
List Newfields=new ArrayList()。。。。。。。CRIEDITTEXT EditText et=(String.valueOf(MY_COUNT));newFields.add(et)。。。。。。。。。。为了挽救我使用的方法,我使用了
getValuesDynamicField(linearlayoutlistli)
。现在这个新案例同时是三个领域。一旦这3个字段要在以后检索,我将如何关联数组?您可以获得第一个字段的值,如String value=edit1.getText().toString();对其余字段也执行同样的操作,但我可以创建许多字段。可以是10行3个字段,因为这样可以轻松检索值​​每行。根据当前具有getValuesDynamicField的函数,但它仅用于一个字段,我的问题是如何创建一个数组来传递值​​对于每个具有3个字段的行组。