2013-09-22 2 views
-2

Что я должен здесь положить?Добавить EditText вертикально программно

@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/

Мой макет линейна.

ответ

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

+0

Да, но я хочу добавить их программно ... – Mageek

+0

@Mageek: Проверьте мое редактирование. – fida1989

+0

@Mageek см. Fida наклеил ваш нужный код – Trikaldarshi

1

Что вы используете в качестве использования контейнера LinearLayout, если вы используете, что затем установить ориентацию, как этот

android:orientation="vertical" 

по умолчанию горизонтально

+0

Спасибо, что это намного лучше, но теперь TextEdit расширяется, чтобы быть на всем экране: http://jsfiddle.net/7B8zB/5/ – Mageek

+0

Это не TextEdit, это editText, и тогда вы должны установить LayoutParams и если он помогает принять его – Trikaldarshi

+0

Да TextEdit, это была опечатка. Но можете ли вы добавить, как я должен использовать 'LayoutParams'? – Mageek

1

использовать как этот

<LinearLayout 

     android:orientation="vertical" 
     <EditText>   

     <EditText>     

     <EditText> 

</LinearLayout> 
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 динамически.

+0

ll.setOrientation (Вертикальный); прямо вертикальное его неправильное, даже дает ошибку компиляции, нет ничего, как ** Vertical ** – Trikaldarshi

+0

Установить ориентацию, такую ​​как ln.setOrientation (LinearLayout.VERTICAL); – Manishika

+0

Спасибо Манишике за изменение кода – Manidroid

Смежные вопросы