[Resolvido] Validação de campos em layout sem xml

Bom dia!

Irmãos, contruí um formulário que contém campos diversos campos dinâmicos.

Este campos são criados da seguinte forma.

1: Pego o total de dados que a minha tabela possui para gerar o total dos campos.
2: Pego o tipo de cada informação para verificar o tipo de campo que devo contruir.

Até aí tudo bem.

Está me trazendo o resultado certinho.

Não estou conseguindo raciocinar nas seguintes questões.

1: Como valido estes campos (exemplo: impedir que seja enviado dados em branco)
2: Como eu devo chamar o Dao para salvar ou atualizar estes dados.

Alguém consegue me dar uma força?

Segue a minha classe


package br.com.mylims.controller;


import java.util.List;

import br.com.mylims.bean.Info;
import br.com.mylims.model.ColetaDao;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup.LayoutParams;

import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;

import android.widget.TextView;

public class TesteCadastroColeta_2 extends Activity{
    
    private static final String CATEGORIA = "coleta";
    
    ColetaDao coletaDao = new ColetaDao(this);
    
    
    public void onCreate(Bundle icicle){
        
        super.onCreate(icicle);
        
        Bundle extras = getIntent().getExtras();
        
        String idAmostra = extras.getString("idAmostra");
        
        Log.i(CATEGORIA, "idamostra TESTE: " + idAmostra);
        
        List<Info> infos = coletaDao.listaColeta(idAmostra);
        
        ScrollView s = new ScrollView(this);
        s.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
         
         int totalDados = coletaDao.listaColeta(idAmostra).size();
         
         for (int i = 0; i < totalDados; i++){
             
             
             /**RECUPERA O ID DO TIPODADO**/
            int recuperaTipoDado = infos.get(i).getCodTipoDado();
             
             /**RECUPERA O CDINFO**/ 
            int recuperaIdInfo = infos.get(i).getCodInfo();
             
            TextView nomeInfoTipo1 = new TextView(this);
            TextView nomeInfoTipo2 = new TextView(this);
            TextView nomeInfoTipo3 = new TextView(this);
            TextView nomeInfoTipo4 = new TextView(this);
            TextView nomeInfoTipo5 = new TextView(this);
            
            EditText editText = new EditText(this); /**CAMPO DO TIPO TEXTO QUE RECEBERA OS SEGUINTES CAMPOS (1-TEXTO, 2-NUMERICO, 3-NUMERICO FRACIONARIO, 4-DATA E HORA)**/
            
            EditText texto = new EditText(this); /**CAMPO DO TIPO TEXTO**/
            EditText numerico = new EditText(this); /**CAMPO DO TIPO NUMERICO**/
            EditText numericoFracionario = new EditText(this); /**CAMPO DO TIPO NUMERICO FRACIONARIO**/
            EditText dataHora = new EditText(this); /**CAMPO DO TIPO **/
            
            /**CAMPOS DO TIPO ESCOLHA**/
            
            RadioGroup escolha = new RadioGroup(this); /**CAMPO DO TIPO ESCOLHA**/
            
            RadioButton sim = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA - RESPOSTA SIM**/
            RadioButton nao = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA  - RESPOSTA NAO**/
            
            /**FORMATA OS CAMPOS**/
            
            /**CAMPO TEXTO**/
            
            texto.setWidth(50);
            
            /**CAMPO NUMERICO**/
            
            numerico.setWidth(50);
            
            /**CAMPO NUMERICO FRACIONARIO**/
            
            numericoFracionario.setWidth(50);
            
            /**CAMPO DATA E HORA**/
            
            
            dataHora.setWidth(50);
            
            switch (recuperaTipoDado) {
            
            case 1:
                
                nomeInfoTipo1.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo1);
                editText = texto;
                editText.setText("");
                editText.setHeight(40);
                editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
            break;
            
            case 2:
                
                nomeInfoTipo2.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo2);
                
                editText = numerico;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
            break;
            
            case 3:
                
                nomeInfoTipo3.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo3);
                
                
                editText = numericoFracionario;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
            break;
            
            case 4:
                
                
                nomeInfoTipo4.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo4);
                
                editText = dataHora;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_CLASS_DATETIME);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
            break;
            
            case 5:
                
                nomeInfoTipo5.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo5);
                
                sim.setText("Sim");
                nao.setText("Não");
                
                escolha.addView(sim);
                escolha.addView(nao);
                escolha.setId(recuperaIdInfo);
                
                linearLayout.addView(escolha);
                
            break;
            
            } // fim swith
    
         } // fim for
         
         
            LinearLayout linearLayout2 = new LinearLayout(this);
            linearLayout2.setOrientation(LinearLayout.HORIZONTAL);
            
            Button botaoCadastrar = new Button(this);
            botaoCadastrar.setText("CADASTRAR");
            linearLayout2.addView(botaoCadastrar);
            
            Button botalVoltar = new Button(this);
            botalVoltar.setText("VOLTAR");
            linearLayout2.addView(botalVoltar);
            
            
            botaoCadastrar.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    
                    salvaColeta();
                    
                    Log.i(CATEGORIA, "teste btn cadastrar");
                    
                }

                
            });
            
            
            botalVoltar.setOnClickListener(new View.OnClickListener() {
                
                
                @Override
                public void onClick(View v) {
                    
                    telaListaAmostra();
                    
                    Log.i(CATEGORIA, "teste btn voltar");
                }

                

                
            });
            
        
            linearLayout.addView(linearLayout2);
        
            s.addView(linearLayout);
        
            setContentView(s);
            
    }
    
    /**voltar para a tela de listagem das amostras**/
    
    private void telaListaAmostra() {
        Intent it = new Intent(this, CadastroUsuarioController.class);
        startActivity(it);
        
    }
    
    
    /**ENVIO OS DADOS PARA SALVAR**/
    private void salvaColeta() {
        
        
    }
    
}

Att.

Fiz algumas alterações e agora estou conseguindo buscar.

Agora só estou com um problema

Não estou conseguindo validar o campo numerico e o escolha.

Mesmo digitando valores ele verifica como campo vazio e imprime a mensagem.

A validação do campo escolha também não funciona.

Alguém consegue me dar uma luz?

Obs: nestes dois casos eu tenho mais de uma informação do tipo numérico e mais uma do tipo escolha.

Na base de dados está assim.

2 campos do tipo numérico
1 campo do tipo data
2- do tipo escolha (RadioButton)

Segue o código.


package br.com.mylims.controller;


import java.util.List;

import br.com.mylims.bean.Info;
import br.com.mylims.model.ColetaDao;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup.LayoutParams;

import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;
import android.widget.Toast;

import android.widget.TextView;

public class TesteCadastroColeta_2 extends Activity{
    
    private static final String CATEGORIA = "coleta";
    
    
        private TextView nomeInfoTipo1;
        private TextView nomeInfoTipo2;
        private TextView nomeInfoTipo3;
        private TextView nomeInfoTipo4;
        private TextView nomeInfoTipo5;
        private EditText editText;
        private EditText texto;
        private EditText numerico;
        private EditText numericoFracionario;
        private EditText dataHora;
        private RadioGroup escolha;
        private RadioButton sim;
        private RadioButton nao;
       
    ColetaDao coletaDao = new ColetaDao(this);
    
    
    public void onCreate(Bundle icicle){
        
        super.onCreate(icicle);
        
        Bundle extras = getIntent().getExtras();
        
        final String idAmostra = extras.getString("idAmostra");
        
        Log.i(CATEGORIA, "idamostra TESTE: " + idAmostra);
        
        final List<Info> infos = coletaDao.listaColeta(idAmostra);
        
        ScrollView s = new ScrollView(this);
        s.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        
        LinearLayout linearLayout = new LinearLayout(this);
        linearLayout.setOrientation(LinearLayout.VERTICAL);
         
         final int totalDados = coletaDao.listaColeta(idAmostra).size();
         
         for (int i = 0; i < totalDados; i++){
             
             
            int recuperaTipoDado = infos.get(i).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/
             
            int recuperaIdInfo = infos.get(i).getCodInfo(); /**RECUPERA O CDINFO**/ 
            
            nomeInfoTipo1 = new TextView(this);
            nomeInfoTipo2 = new TextView(this);
            nomeInfoTipo3 = new TextView(this);
            nomeInfoTipo4 = new TextView(this);
            nomeInfoTipo5 = new TextView(this);
            
            editText = new EditText(this); /**CAMPO DO TIPO TEXTO QUE RECEBERA OS SEGUINTES CAMPOS (1-TEXTO, 2-NUMERICO, 3-NUMERICO FRACIONARIO, 4-DATA E HORA)**/
            
            texto = new EditText(this); /**CAMPO DO TIPO TEXTO**/
            numerico = new EditText(this); /**CAMPO DO TIPO NUMERICO**/
            numericoFracionario = new EditText(this); /**CAMPO DO TIPO NUMERICO FRACIONARIO**/
            dataHora = new EditText(this); /**CAMPO DO TIPO **/
            
            escolha = new RadioGroup(this); /**CAMPO DO TIPO ESCOLHA**/
            
            sim = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA - RESPOSTA SIM**/
            nao = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA  - RESPOSTA NAO**/
            
            
            texto.setWidth(50);
            numerico.setWidth(50);
            numericoFracionario.setWidth(50);
            dataHora.setWidth(50);
            
            
            switch (recuperaTipoDado) {
            
            case 1:
                
                nomeInfoTipo1.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo1);
                editText = texto;
                editText.setText("");
                editText.setHeight(40);
                editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
            break;
            
            case 2:
                
                nomeInfoTipo2.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo2);
                
                editText = numerico;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
                
            break;
            
            case 3:
                
                nomeInfoTipo3.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo3);
                
                editText = numericoFracionario;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
                
            break;
            
            case 4:
                
                
                nomeInfoTipo4.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo4);
                
                editText = dataHora;
                editText.setText("");
                editText.setHeight(40);
                
                editText.setInputType(android.text.InputType.TYPE_CLASS_DATETIME);
                editText.setId(recuperaIdInfo);
                
                linearLayout.addView(editText);
                
            break;
            
            case 5:
                
                nomeInfoTipo5.setText(infos.get(i).getNomeInfo());
                linearLayout.addView(nomeInfoTipo5);
                
                sim.setText("Sim");
                nao.setText("Não");
                
                escolha.addView(sim);
                escolha.addView(nao);
                escolha.setId(recuperaIdInfo);
                
                linearLayout.addView(escolha);
                
            break;
            
            
            } // fim swith
            
            
            
    
         } // fim for
         
         
            LinearLayout linearLayout2 = new LinearLayout(this);
            linearLayout2.setOrientation(LinearLayout.HORIZONTAL);
            
            Button botaoCadastrar = new Button(this);
            botaoCadastrar.setText("CADASTRAR");
            linearLayout2.addView(botaoCadastrar);
            
            Button botalVoltar = new Button(this);
            botalVoltar.setText("VOLTAR");
            linearLayout2.addView(botalVoltar);
            
            /**BOTAO CADASTRAR**/
            
            botaoCadastrar.setOnClickListener(new View.OnClickListener() {
                
                @Override
                public void onClick(View v) {
                    
                    try {
                        
                        for (int j = 0; j <totalDados; j++)
                        {
                            
                            int recuperaTipoDado = infos.get(j).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/
                             
                            int recuperaIdInfo = infos.get(j).getCodInfo(); /**RECUPERA O CDINFO**/ 
                            
                            
                            switch (recuperaTipoDado) {
                                case 1:
                                
                                    if (texto.getText().toString().equals("")) {
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM TEXTO!", Toast.LENGTH_SHORT).show();
                                        Log.i(CATEGORIA, "DIGITE UM TEXTO!");
                                    }
                                    
                                break;

                                case 2:
                                    
                                    if(numerico.getText().toString().equals("")){
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO INTEIRO!", Toast.LENGTH_SHORT).show();
                                        Log.i(CATEGORIA, "DIGITE UM NÚMERO INTEIRO!");
                                    }
                                    
                                    
                                break;
                                
                                case 3:
                                    
                                    if (numericoFracionario.getText().toString().equals("")) {
                                        
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO FRACIONÁRIO!", Toast.LENGTH_SHORT).show();
                                        Log.i(CATEGORIA, "DIGITE UM NÚMERO FRACIONÁRIO!");
                                    }
                                    
                                break;
                                
                                case 4:
                                    
                                    if (dataHora.getText().toString().equals("")) {
                                        
                                        Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UMA DATA!", Toast.LENGTH_SHORT).show();
                                        Log.i(CATEGORIA, "DIGITE UMA DATA!");
                                    }
                                    
                                break;
                                
                                case 5:
                                    
                                    if (escolha.equals("")) {
                                        Toast.makeText(TesteCadastroColeta_2.this, "SELECIONE UMA RESPOSTA!", Toast.LENGTH_SHORT).show();
                                        
                                    }
                                    
                                break;
                                
                                
                            
                            }
                            
                            Log.i(CATEGORIA, "ID INFO: " + recuperaIdInfo);
                            
                            
                        }
                        
                    } catch (Exception e) {
                        
                        Log.i(CATEGORIA, "Erro grave botao cadastroColeta" + e);
                    }
                    
                    
                    
                }
                
            });
                    
            
            botalVoltar.setOnClickListener(new View.OnClickListener() {
                
                
                @Override
                public void onClick(View v) {
                    
                    telaListaAmostra();
                    
                    Log.i(CATEGORIA, "teste btn voltar");
                }


            });
            
        
            linearLayout.addView(linearLayout2);
        
            s.addView(linearLayout);
        
            setContentView(s);
            
    }
    
    /**voltar para a tela de listagem das amostras**/
    
    private void telaListaAmostra() {
        Intent it = new Intent(this, CadastroUsuarioController.class);
        startActivity(it);
        
    }
    
    
}

Irmãos,

Bom dia!

Fiz mais algumas alterações, tentando transformar os campos em vetores e agora está me dando a mensagem de NullPointerException.

Por favor, alguém consegue me ajudar?

Segue a classe


package br.com.mylims.controller;


import java.util.List;

import br.com.mylims.bean.Info;
import br.com.mylims.model.ColetaDao;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup.LayoutParams;

import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.ScrollView;
import android.widget.Toast;

import android.widget.TextView;

public class TesteCadastroColeta_2 extends Activity{
	
	private static final String CATEGORIA = "coleta";
	
	
		private TextView nomeInfoTipo1;
		private TextView nomeInfoTipo2;
		private TextView nomeInfoTipo3;
		private TextView nomeInfoTipo4;
		private TextView nomeInfoTipo5;
		private EditText[] editText;
		private EditText[] texto;
		private EditText[] numerico;
		private EditText[] numericoFracionario;
		private EditText[] dataHora;
		private RadioGroup escolha;
		private RadioButton sim;
		private RadioButton nao;
	
	
	ColetaDao coletaDao = new ColetaDao(this);
	
	
	public void onCreate(Bundle icicle){
		
		
		
		super.onCreate(icicle);
		
		Bundle extras = getIntent().getExtras();
		
		final String idAmostra = extras.getString("idAmostra");
		
		Log.i(CATEGORIA, "idamostra TESTE: " + idAmostra);
		
		final List<Info> infos = coletaDao.listaColeta(idAmostra);
		
		ScrollView s = new ScrollView(this);
		s.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
		
		LinearLayout linearLayout = new LinearLayout(this);
		linearLayout.setOrientation(LinearLayout.VERTICAL);
		 
	     final int totalDados = coletaDao.listaColeta(idAmostra).size();
	     
	     for (int i = 0; i < totalDados; i++){
	    	
	    	 try{ 
	    	 
	    	int recuperaTipoDado = infos.get(i).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/
	    	 
	    	int recuperaIdInfo = infos.get(i).getCodInfo(); /**RECUPERA O CDINFO**/ 
	    	
	    	nomeInfoTipo1 = new TextView(this);
	 		nomeInfoTipo2 = new TextView(this);
	 		nomeInfoTipo3 = new TextView(this);
	 		nomeInfoTipo4 = new TextView(this);
	 		nomeInfoTipo5 = new TextView(this);
	 		
	 		editText[i] = new EditText(this); /**CAMPO DO TIPO TEXTO QUE RECEBERA OS SEGUINTES CAMPOS (1-TEXTO, 2-NUMERICO, 3-NUMERICO FRACIONARIO, 4-DATA E HORA)**/
	 		
	 		texto[i] = new EditText(this); /**CAMPO DO TIPO TEXTO**/
	 		numerico[i] = new EditText(this); /**CAMPO DO TIPO NUMERICO**/
	 		numericoFracionario[i] = new EditText(this); /**CAMPO DO TIPO NUMERICO FRACIONARIO**/
	 		dataHora[i] = new EditText(this); /**CAMPO DO TIPO **/
	 		
	 		escolha = new RadioGroup(this); /**CAMPO DO TIPO ESCOLHA**/
	 		
	 		sim = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA - RESPOSTA SIM**/
	 		nao = new RadioButton(this); /**CAMPO DO TIPO ESCOLHA  - RESPOSTA NAO**/
	 		
	 		
	 		texto[i].setWidth(50);
	 		numerico[i].setWidth(50);
	 		numericoFracionario[i].setWidth(50);
	 		dataHora[i].setWidth(50);
	 		
	 		
	 		switch (recuperaTipoDado) {
	 		
	 		case 1:
	 			
	 			nomeInfoTipo1.setText(infos.get(i).getNomeInfo());
	 			linearLayout.addView(nomeInfoTipo1);
	 			editText[i] = texto[i];
	 			editText[i].setText("");
	 			editText[i].setHeight(40);
	 			editText[i].setInputType(android.text.InputType.TYPE_CLASS_TEXT);
	 			//editText[i].setId(recuperaIdInfo);
	 			
	 			linearLayout.addView(editText[i]);
	 			
	 			
	 		break;
	 		
	 		case 2:
	 			
	 			nomeInfoTipo2.setText(infos.get(i).getNomeInfo());
	 			linearLayout.addView(nomeInfoTipo2);
	 			
	 			editText[i] = numerico[i];
	 			editText[i].setText("");
	 			editText[i].setHeight(40);
	 			
	 			editText[i].setInputType(android.text.InputType.TYPE_CLASS_NUMBER);
	 			//editText.setId(recuperaIdInfo);
	 			
	 			linearLayout.addView(editText[i]);
	 			
	 			
	 			
	 		break;
	 		
	 		case 3:
	 			
	 			nomeInfoTipo3.setText(infos.get(i).getNomeInfo());
	 			linearLayout.addView(nomeInfoTipo3);
	 			
	 			editText[i] = numericoFracionario[i];
	 			editText[i].setText("");
	 			editText[i].setHeight(40);
	 			
	 			editText[i].setInputType(android.text.InputType.TYPE_NUMBER_FLAG_DECIMAL);
	 			//editText[i].setId(recuperaIdInfo);
	 			
	 			linearLayout.addView(editText[i]);
	 			
	 			
	 		break;
	 		
	 		case 4:
	 			
	 			
	 			nomeInfoTipo4.setText(infos.get(i).getNomeInfo());
	 			linearLayout.addView(nomeInfoTipo4);
	 			
	 			editText[i] = dataHora[i];
	 			editText[i].setText("");
	 			editText[i].setHeight(40);
	 			
	 			editText[i].setInputType(android.text.InputType.TYPE_CLASS_DATETIME);
	 			editText[i].setId(recuperaIdInfo);
	 			
	 			linearLayout.addView(editText[i]);
	 			
	 		break;
	 		
	 		case 5:
	 			
	 			nomeInfoTipo5.setText(infos.get(i).getNomeInfo());
	 			linearLayout.addView(nomeInfoTipo5);
	 			
	 			sim.setText("Sim");
	 			nao.setText("Não");
	 			
	 			escolha.addView(sim);
	 			escolha.addView(nao);
	 			escolha.setId(recuperaIdInfo);
	 			
	 			linearLayout.addView(escolha);
	 			
	 		break;
	 		
	 		
	 		} // fim swith
	 		
	 		
	 	}catch (Exception ex) {
			
			Log.i(CATEGORIA, "Exception ex" + ex + "FOR: " + (i));
		}
			
	
	 } // fim for
	     
	    
	     
	     	LinearLayout linearLayout2 = new LinearLayout(this);
			linearLayout2.setOrientation(LinearLayout.HORIZONTAL);
			
			Button botaoCadastrar = new Button(this);
			botaoCadastrar.setText("CADASTRAR");
			linearLayout2.addView(botaoCadastrar);
			
			Button botalVoltar = new Button(this);
			botalVoltar.setText("VOLTAR");
			linearLayout2.addView(botalVoltar);
			
			
	   
			/**BOTAO CADASTRAR**/
			
			botaoCadastrar.setOnClickListener(new View.OnClickListener() {
				
				@Override
				public void onClick(View v) {
					
					try {
						
						for (int j = 0; j <totalDados; j++)
						{
							
							int recuperaTipoDado = infos.get(j).getCodTipoDado();  /**RECUPERA O ID DO TIPODADO**/
					    	 
					    	int recuperaIdInfo = infos.get(j).getCodInfo(); /**RECUPERA O CDINFO**/ 
							
					    	
					    	switch (recuperaTipoDado) {
								case 1:
								
									if (texto[j].getText().toString().equals("")) {
										Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM TEXTO!", Toast.LENGTH_SHORT).show();
										Log.i(CATEGORIA, "DIGITE UM TEXTO!");
									}
									
								break;

								case 2:
									
									if(numerico[j].getText().toString().equals("")){
										Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO INTEIRO!", Toast.LENGTH_SHORT).show();
										Log.i(CATEGORIA, "DIGITE UM NÚMERO INTEIRO!");
									}
									
									
								break;
								
								case 3:
									
									if (numericoFracionario[j].getText().toString().equals("")) {
										
										Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UM NÚMERO FRACIONÁRIO!", Toast.LENGTH_SHORT).show();
										Log.i(CATEGORIA, "DIGITE UM NÚMERO FRACIONÁRIO!");
									}
									
								break;
								
								case 4:
									
									if (dataHora[j].getText().toString().equals("")) {
										
										Toast.makeText(TesteCadastroColeta_2.this, "DIGITE UMA DATA!", Toast.LENGTH_SHORT).show();
										Log.i(CATEGORIA, "DIGITE UMA DATA!");
									}
									
								break;
								
								case 5:
									
									if (escolha.equals("")) {
										Toast.makeText(TesteCadastroColeta_2.this, "SELECIONE UMA RESPOSTA!", Toast.LENGTH_SHORT).show();
										
									}
									
								break;
								
								
							
							}
					    	
					    	Log.i(CATEGORIA, "ID INFO: " + recuperaIdInfo);
					    	
							
						}
						
					} catch (Exception e) {
						
						Log.i(CATEGORIA, "Erro grave botao cadastroColeta" + e);
					}
					
					
					
				}
				
			});
					
			
			botalVoltar.setOnClickListener(new View.OnClickListener() {
				
				
				@Override
				public void onClick(View v) {
					
					//telaListaAmostra();
					
					Log.i(CATEGORIA, "teste btn voltar");
				}


			});
			
		
			linearLayout.addView(linearLayout2);
	    
			s.addView(linearLayout);
		
			setContentView(s);
			
			

		
			
	}
	
	 
		
		
	 		
	
	/**voltar para a tela de listagem das amostras**/
	
	/*private void telaListaAmostra() {
		Intent it = new Intent(this, CadastroUsuarioController.class);
		startActivity(it);
		
	}*/
	
	
}

NPE onde? Em qual linha?

Bom dia cara

na linha 85 editText[i] = new EditText(this); /**CAMPO DO TIPO TEXTO QUE RECEBERA OS SEGUINTES CAMPOS (1-TEXTO, 2-NUMERICO, 3-NUMERICO FRACIONARIO, 4-DATA E HORA)**/

Ok, já percebi o erro.
Primeiro, você apenas declara o editText e não instancia ele

//isto aqui não existe no teu código
editText = new EditText[0];//onde 0 representa o total de editText que existirão

Se eu bem entendi, o usuário seleciona/informa o total de itens que serão exibidos (variável totalDados). Você precisa instanciar os arrays assim

editText = new EditText[totalDados];
//os demais, também

Para poder fazer o

editText[i] = new EditText(this);

Opa valeu mesmo cara.

Adicionei aqui e deu certinho.

Muito obrigado.

Feliz Natal e um 2012 repleto de realizações irmão.

Att.