Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Como fazer uma lista de perguntas sem ter que repetir o código?

Quero fazer uma lista de perguntas sem ter que repetir todo o código em xml. Por exemplo:

 <TextView
                android:id="@+id/pergunta1"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_margin="8dp"
                android:text="Insira a pergunta aqui: "
                android:textColor="#000"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.04000002" />

            <EditText
                android:id="@+id/observacao"
                android:layout_width="match_parent"
                android:layout_height="44dp"
                android:layout_margin="8dp"
                android:layout_weight="1"
                android:hint="Observações"
                android:textSize="12sp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="1.0"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/radioGroup1"
                app:layout_constraintVertical_bias="0.0" />

            <RadioGroup
                android:id="@+id/radioGroup1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_margin="8dp"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/pergunta1"
                app:layout_constraintVertical_bias="0.04000002">

                <RadioButton
                    android:id="@+id/conforme1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Conforme"
                    android:textSize="12sp" />

                <RadioButton
                    android:id="@+id/nConforme1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Não Conforme"
                    android:textSize="12sp" />

                <RadioButton
                    android:id="@+id/nSeAplica1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="Não se aplica"
                    android:textSize="12sp" />

            </RadioGroup>

Então repito esse código pra fazer a pergunta 2. E como faço para colocar o scroll?

6 respostas

Rafaela, tudo bem ?

Acho que vale super a pena você fazer isso com fragments, trocando o conteudo da pergunta e as respostas, o que você acha?

E aí, Matheus. Então... estive pensando e não sei como exatamente proceder, pois por exemplo... Eu terei uma tabela só de perguntas, pois são muitas perguntas pra vários formulários e ficaria muito pesado fazer uma tabela pra cada formulario. Então estou um pouco em dúvida em como vou puxar essas perguntas da tabela em seguida. Pois vimos SELECT para trazer em listas, porém não quero trazer em lista, quero trazer as perguntas num textView. Tentei fazer com fragment, mas como faço para duplicar o exemplo da pergunta? Vou dar mais uma estudada em fragments, pois estou com bastante dúvidas ainda em como usar.

Obrigada por enquanto.

Consegue falar mais ou menos o que voce tá querendo fazer ? Assim podemos te guiar mais diretamente, não vamos roubar sua ideia.rs

É o seguinte: eu tenho um projeto onde a ideia principal dele é coletar dados, então eu tenho:

  • cadastro de empresa
  • cadastro de unidade
  • cadastro de setor
  • cadastro de inspeção
  • cadastro de perguntas
  • formulario de perguntas para a coleta dos dados e etc

então até CADASTRO DE SETOR o banco de dados já está todo implementado e funcionando, o que eu preciso é implementar o formulario que vai fazer a coleta das informações.

O formulario teria mais ou menos esse formato:

-

1- Insira sua pergunta aqui

o Conforme o Não conforme o Não se aplica

Observações:

-

Cada formulário terá um tipo de pergunta diferente, apenas as respostas que serão no mesmo formato... Por isso minha dúvida. rs

solução!

Vale a pena fazer um fragment então! Trocando apenas a pergunta e baseado nisso vai setando a informação de um objeto seu que vai manter o estado.

Dado que vai estar na mesma activity, você pode ter o objeto Resposta, que vai ser compartilhado entre cada fragment.

Para cada clique no botão ok, você consegue ver qual era a pergunta e ali chamar o respectivo setter

Activity{ private Respostas respostas;

onCreate(){ exibeFragment(); }

coletaResposta(){ respostas.adiciona(); } }

Fragment{ onCreateView(){

recuperaPergunta();

direcionaRespostaParaActivity();

} }

Algo similar a isso, deve ajudar

Realmente preciso dar uma estudada. Hahaha. Mas muito obrigada, Matheus.