2015-06-18 3 views
-1

Есть ли способ добавить такие объекты, как EditText, в цикл for (число циклов зависит от пользовательского ввода).Как я могу создать новый вид Android в цикле for?

В принципе, я хочу, чтобы программа добавляла определенное количество EditText на основе числа, которое вводит пользователь.

Я новичок в java и студии Android, поэтому этот код может быть совершенно неправильным, но, возможно, кто-то может мне помочь.

public class ThirdActivity extends Activity { 

private static EditText NumberOfGarments; 
private static CheckBox GarmentChecker; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_third); 

    NumberOfGarments = (EditText) findViewById(R.id.number_of_garments); 
    final Integer NoOfGarments = Integer.parseInt(String.valueOf(NumberOfGarments)); //Convert string to int 
    GarmentChecker.setOnClickListener(
      new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        for (int GarmentCount = 1; GarmentCount <= NoOfGarments; GarmentCount++){ 
         //Not sure what to put here 
        } 
       } 
      } 
    ); 
} 

Любая помощь очень ценится

+1

Вне вашей петли есть 'ArrayList' объектов, скажем,' EditText'. Внутри цикла for вы можете создать сколько угодно и добавить их в свой ArrayList для потомков. – CubeJockey

+0

Почему -1? Это совершенно верный вопрос начинающего. Нежелательная формулировка вопроса следует ожидать, когда люди новы. –

ответ

-2

вне цикла, вы должны создать экземпляр объекта и создать объект внутри цикла для ПРИМЕР-

Player[] players = new Player[10]; 
for(int i = 0; i < players.length; i++) { 
      players[i] = new Player(); 
} 
+0

Что делать, если OP требует более 10 объектов 'Player'? Что делать, если им нужно всего 2? – CubeJockey

+0

then op должен использовать список или arraylist –

+1

Разве это не лучшее решение? Просто давая советы о том, как улучшить ваш ответ :) – CubeJockey

0

В деятельности, вы можете создать EditText программно с этим конструктором:

EditText editText = new EditText(this); //"this" must be an Activity 

Затем вы должны добавить его в ac в качестве дочернего элемента ViewGroup.

ViewGroup editTextsContainer = (ViewGroup)findViewViewById(R.id.editTextsContainer); 
editTextsContainer.addView(editText); 
Смежные вопросы