1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como colocar EditText ao lado de Edit Text dinâmicamente?

Estou criando um formulário dinâmico e precisava exibir em um formulário, Idade e Endereço na mesma linha. Eu criei um "for" para criar n vezes o mesmo formulário mas está dando erro. segue o código:

public void form() {

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

        TextView tv = new TextView(this);
        tv.setText("Nome");
        layout.addView(tv);
        EditText et = new EditText(this);
        et.setText("");
        layout.addView(et);

        TextView tv1 = new TextView(this);
        tv1.setText("Idade");
        layout2.addView(tv1);
        EditText et1 = new EditText(this);
        et1.setText("");
        layout2.addView(et1);

        TextView tv2 = new TextView(this);
        tv2.setText("Endereco");
        layout2.addView(tv2);
        EditText et2 = new EditText(this);
        et2.setText("");
        layout2.addView(et2);
        // AQUI COLOCO O LAYOUT HORIZONTAL DENTRO DO VERTICAL, FUNCIONA A LÓGICA, PORÈM ESTÁ DANDO ERRO POR CAUSA DO FOR
        layout.addView(layout2);

        TextView tv3 = new TextView(this);
        tv3.setText("Telefone");
        layout.addView(tv3);
        EditText et3 = new EditText(this);
        et3.setText("");
        layout.addView(et3);

    }

}

Obs: layout -> LinearLayout vertical - layout2 - > LinearLayout horizontal.

Se eu tirar o "for" do código, ele funciona, mas eu preciso usar o "for". Alguém pode dar uma ajuda. Agradeço desde já!

  • Você esta tentando usar a mesma instância de layout toda vez no for, isto acaba estourando por sobrecarga do método, tente criar uma nova instancia de horizontal ou de vertical, adicione os componentes e após tudo isto insira no layout principal.

    Anjosi   11 de set de 2015
  • nossa obrigadão, eu criei uma nova instância antes de usar o layout2 e funcionou perfeitamente!!!

    Daniel   11 de set de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android ou faça a sua própria pergunta.