以编程方式垂直添加EditText

时间:2013-09-22 11:15:33

标签: android

我应该放在这里?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);
    //Some code
}

我想要像这里的N EditText:http://jsfiddle.net/7B8zB/1/

我尝试new EditText(this);myLayout.addView(myEditText),但它的呈现方式如下:http://jsfiddle.net/7B8zB/3/

我的布局是线性的。

4 个答案:

答案 0 :(得分:1)

您使用的容器使用LinearLayout如果您正在使用它然后设置这样的方向

android:orientation="vertical"

默认为水平

答案 1 :(得分:1)

喜欢这样?:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

            <EditText
                android:id="@+id/editText3"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Buddy Name"
                android:inputType="textPersonName" >


            </EditText>

            <EditText
                android:id="@+id/editText2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Email Address"
                android:inputType="textEmailAddress" />

            <EditText
                android:id="@+id/editText1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:hint="Information" />


        </LinearLayout>

修改

 LinearLayout linearLayout = (LinearLayout) findViewById(R.id.editTextGroupLayout);
linearLayout.setOrientation(LinearLayout.VERTICAL);
        EditText editTextView = new EditText(this);
        editTextView.setGravity(Gravity.CENTER);

        LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,
            LayoutParams.WRAP_CONTENT, 1);

        editTextView.setLayoutParams(params);

        linearLayout.addView(editTextView);

Source

答案 2 :(得分:1)

像这样使用

<LinearLayout 

      android:orientation="vertical" 
      <EditText>           

       <EditText>                  

      <EditText>

 </LinearLayout> 

答案 3 :(得分:1)

EditText et;
LinearLayout ll;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list);

  ll = (LinearLayout)findViewById(R.id.layout_id);
  ll.setOrientation(LinearLayout.VERTICAL);

 for(int i=0;i<=10;i++){
   et = new EditText(this);
    ll.addView(et);
}

此代码段代码将动态创建edittext。