Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2013, 09:08
Avatar de AvkZ
AvkZ
 
Fecha de Ingreso: abril-2013
Ubicación: Madrid
Mensajes: 1
Antigüedad: 11 años, 7 meses
Puntos: 0
Muchas dudas en aplicacion sencilla con ArraysList de Strings

Buenas a todos.

El caso es que tengo que hacer una aplicacion para Android basada en Java y sobre el entorno de Eclipse ADT y no consigo llevar a cabo esta tonteria ya que pocas veces he usado Arrays y llevo poco programando.

Se trata de una aplicacion sencilla que te hace una serie de preguntas y tu debes responderlas correctamente, de este modo ganas vidas o fallos según tu contestacion.

He declarado un Array de 4 elementos, tanto para las preguntas como para las respuestas pero no consigo vincularlo entre sí para que salgan por pantalla en mi campo de texto "pregunta" y en función de si es la correcta o no (posicion del array correspondiente) sume un acierto al contador equivalente

De momento solo tengo esto puesto que estoy estancado y por eso estoy aqui xD
Es la primera vez que uso Arrays en este entorno de desarrollo y no consigo hacer que se ejecuten del modo que yo quiero ademas de que no sabria que IFs meter dentro del boton 'Acertar' para relacionar la respuesta que tu escribas a mano en el editText con la pregunta que te estan haciendo en el textView, no sé si me explico.

Código:
public class MainActivity extends Activity implements OnClickListener{

    RelativeLayout contenedor;
    int aciertos = 0;
    int fallos = 0;
    int n = 0;
    ArrayList<String> arrayPreguntas;
    ArrayList<String> arrayRespuestas;
    EditText contestacion;
    TextView pregunta;
    Button acertar, pasar, reiniciar;
    Toast mensaje;
    SharedPreferences preferencias;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        referenciasVistas();
        arrayPreguntas = new ArrayList<String>();
        arrayRespuestas = new ArrayList<String>();
        
        arrayPreguntas.add("¿Se dice 'Elije' o 'Elige'?");
        arrayPreguntas.add("Capital de Estonia");
        arrayPreguntas.add("Iniciales del rey actual");
        arrayPreguntas.add("El oeste se sitúa a lado..");
        
        pregunta.setText(arrayPreguntas.get(n));
        
        arrayRespuestas.add("Elige");
        arrayRespuestas.add("Tallin");
        arrayRespuestas.add("JC");
        arrayRespuestas.add("Izquierdo");
     }
    
    private void referenciasVistas(){
    	contestacion = (EditText)findViewById(R.id.contestacion);
    	pregunta = (TextView)findViewById(R.id.pregunta);
    	acertar = (Button)findViewById(R.id.Acertar);
    	reiniciar = (Button)findViewById(R.id.reiniciar);
    	pasar = (Button)findViewById(R.id.pasar);
    	
    	
    	acertar.setOnClickListener(this);
    	pasar.setOnClickListener(this);
    	reiniciar.setOnClickListener(this);
    	//mensaje = Toast.makeText(this, "", Toast.LENGTH_LONG).show();
    }

	@Override
	public void onClick(View v){
		switch(v.getId()){
		case R.id.Acertar:
			String respuesta = contestacion.getText().toString()
			//if (arrayRespuestas.contains(respuesta)){
				//aciertos++;};break;
			;break;
		case R.id.reiniciar:
			
			;break;
		case R.id.pasar:
			
			;break;
		}
		
	}
   
    
}
public class MainActivity extends Activity implements OnClickListener{

	RelativeLayout contenedor;
	int aciertos = 0;
    int fallos = 0;
    int n = 0;
    ArrayList<String> arrayPreguntas;
    ArrayList<String> arrayRespuestas;
    EditText contestacion;
    TextView pregunta;
    Button acertar, pasar, reiniciar;
    Toast mensaje;
    SharedPreferences preferencias;
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        referenciasVistas();
        arrayPreguntas = new ArrayList<String>();
        arrayRespuestas = new ArrayList<String>();
        
        arrayPreguntas.add("¿Se dice 'Elije' o 'Elige'?");
        arrayPreguntas.add("Capital de Estonia");
        arrayPreguntas.add("Iniciales del rey actual");
        arrayPreguntas.add("El oeste se sitúa a lado..");
        
        pregunta.setText(arrayPreguntas.get(n));
        
        arrayRespuestas.add("Elige");
        arrayRespuestas.add("Tallin");
        arrayRespuestas.add("JC");
        arrayRespuestas.add("Izquierdo");
     }
    
    private void referenciasVistas(){
    	contestacion = (EditText)findViewById(R.id.contestacion);
    	pregunta = (TextView)findViewById(R.id.pregunta);
    	acertar = (Button)findViewById(R.id.Acertar);
    	reiniciar = (Button)findViewById(R.id.reiniciar);
    	pasar = (Button)findViewById(R.id.pasar);
    	
    	
    	acertar.setOnClickListener(this);
    	pasar.setOnClickListener(this);
    	reiniciar.setOnClickListener(this);
    	//mensaje = Toast.makeText(this, "", Toast.LENGTH_LONG).show();
    }

	@Override
	public void onClick(View v){
		switch(v.getId()){
		case R.id.Acertar:
			String respuesta = contestacion.getText().toString()
			//if (arrayRespuestas.contains(respuesta)){
				//aciertos++;};break;
			;break;
		case R.id.reiniciar:
			
			;break;
		case R.id.pasar:
			
			;break;
		}
		
	}
   
    
}
No consigo hacer que se visualice ningun elemento de mi array de preguntas en el campo de la pregunta y aun me faltaria hacer el caso del switch para el boton de "Pasar de pregunta" y que sumara uno al contador de fallos.

Aver si me podeis echar un cable con el tema de los arrays tanto de preguntas como respuestas y aclararme que IF o pautas deben ir en cada uno de los botones inferiores. MUCHAS GRACIAS!

Os adjunto además la captura de la aplicacion para que sea mas intuitivo la compresión del codigo: