2013-11-27 5 views
1

죄송합니다. 안드로이드에서 새로 생겼습니다. 약간의 도움이 필요합니다. 저는 클럽에 가입하는 간단한 상담을하고 있습니다. 그것이 계속 일어나는 이유는 내가 마지막으로 arraylist에 추가 한 사람이 오래된 것을 overwries한다는 것입니다. 나는 그것이 실제로 무엇인지 알지 못한다. 도와 주시면 감사하겠습니다.Arraylist는 내가 마지막으로 추가 한 항목을 덮어 씁니다.

AltaSocio.java

package com.example.polideportivo1; 

import java.text.DateFormat; 
import java.text.Format; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.Date; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.CheckBox; 
import android.widget.EditText; 
import android.widget.Spinner; 
import android.widget.Toast; 
import android.widget.AdapterView.OnItemSelectedListener; 



public class AltaSocio extends Activity { 
    Socios nuevosSocio = new Socios(0,"","","","","","","","",0,0,""); 
    VariablesGlobales vb = new VariablesGlobales(); 
    private EditText editDocumento; 
    private EditText editApellido; 
    private EditText editNombre; 
    private CheckBox checkBoxM; 
    private CheckBox checkBoxF; 
    private EditText editCivil; 
    private Spinner Nacionalidad; 
    private EditText Nacimiento; 
    private EditText Domicilio; 
    private Spinner Localidad; 
    private EditText Celular; 
    private EditText TelFijo; 
    private EditText Correo; 
    String miNacionalidad; 
    String miLocalidad; 


    ArrayList<Socios> socios = vb.getSocios(); 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.alta_socio2); 

     editDocumento = (EditText)findViewById(R.id.editDocumento); 
     editApellido = (EditText)findViewById(R.id.editApellido); 
     editNombre = (EditText)findViewById(R.id.editNombre); 
     editCivil = (EditText)findViewById(R.id.editCivil); 
     Nacimiento = (EditText)findViewById(R.id.editNacimiento); 
     Domicilio = (EditText)findViewById(R.id.editDomicilio); 
     Celular = (EditText)findViewById(R.id.editCelular); 
     TelFijo = (EditText)findViewById(R.id.editFijo); 
     Correo = (EditText)findViewById(R.id.editCorreo); 
     checkBoxM = (CheckBox)findViewById(R.id.checkM); 
     checkBoxF = (CheckBox)findViewById(R.id.checkF); 
     Nacionalidad = (Spinner)findViewById(R.id.spinnerNacionalidad); 
     Localidad = (Spinner)findViewById(R.id.spinnerLocalidad); 

     final Button BtnCrear = (Button)findViewById(R.id.botonCrear); 
     final Button BtnCerrar = (Button)findViewById(R.id.buttonAtras); 



     ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Nacionalidad, android.R.layout.simple_spinner_item); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_item); 
     Nacionalidad.setAdapter(adapter); 

     Nacionalidad.setOnItemSelectedListener(new OnItemSelectedListener() { 


      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) { 
       parent.getItemAtPosition(pos); 
       miNacionalidad = Nacionalidad.getItemAtPosition(pos).toString(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       //another call 

      } 

     }); 

     ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.Localidad, android.R.layout.simple_spinner_item); 
     adapter2.setDropDownViewResource(android.R.layout.simple_spinner_item); 
     Localidad.setAdapter(adapter2); 

     Localidad.setOnItemSelectedListener(new OnItemSelectedListener() { 


      @Override 
      public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) { 
       parent.getItemAtPosition(pos); 
       miLocalidad = Localidad.getItemAtPosition(pos).toString(); 
      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 
       //another call 

      } 
     }); 




    } 

    public void grabar(View v) { 
     nuevosSocio.setCI(Integer.parseInt(editDocumento.getText().toString())); 
     nuevosSocio.setApellido(editApellido.getText().toString()); 
     nuevosSocio.setNombre(editNombre.getText().toString()); 
     nuevosSocio.setEstadoCivil(editCivil.getText().toString()); 

     DateFormat formateador = new SimpleDateFormat("dd/MM/yyyy"); 
     DateFormat DataSocio; 

     try { 
      String Fecha =(Nacimiento.getText().toString()); 
      formateador.parse(Fecha); 
      nuevosSocio.setFechaNacimiento(Fecha); 
     } 
     catch (ParseException e) 
      { 
      Toast g = Toast.makeText(this, "Formato Fecha no valido", Toast.LENGTH_LONG); 

      } 

     //nuevosSocio.setFechaNacimiento(Fecha); 

     nuevosSocio.setDomicilio(Domicilio.getText().toString()); 
     nuevosSocio.setTelefonoCelular(Integer.parseInt(Celular.getText().toString())); 
     nuevosSocio.setTelefonoFijo(Integer.parseInt(TelFijo.getText().toString())); 
     nuevosSocio.setCorreo(Correo.getText().toString()); 
     if (checkBoxM.isChecked()) { 
      nuevosSocio.setSexo("Masculino"); 
     } else { 
      nuevosSocio.setSexo("Femenino"); 
     } 
     nuevosSocio.setNacionalidad(miNacionalidad); 
     nuevosSocio.setLocalidad(miLocalidad); 

     socios.add(nuevosSocio); 
     nuevosSocio = new Socios(0,"","","","","","","","",0,0,""); 

     Toast t = Toast.makeText(this, "Los datos fueron grabados", 
        Toast.LENGTH_SHORT); 
     t.show(); 
     finish(); 
    } 



} 

Socio.java

package com.example.polideportivo1; 

import java.sql.Date; 

import android.graphics.Bitmap; 
import android.widget.CheckBox; 
import android.widget.ImageView; 

public class Socios { 

    private int CI; 
    private String Nombre; 
    private String Apellido; 
    private String Sexo; 
    private String EstadoCivil; 
    private String Nacionalidad; 
    private String FechaNacimiento; 
    private String Domicilio; 
    private String Localidad; 
    private int TelefonoCelular; 
    private int TelefonoFijo; 
    private String DireccionCorreo; 

    public Socios(int CI, String Nombre, String Apellido, String Sexo, String EstadoCivil, 
        String Nacionalidad, String FechaNacimiento, String Domicilio, String Localidad, int TelefonoCelular, int TelefonoFijo, String DireccionCorreo) { 
     this.CI = CI; 
     this.Nombre = Nombre; 
     this.Apellido = Apellido; 
     this.Sexo = Sexo; 
     this.EstadoCivil = EstadoCivil; 
     this.Nacionalidad = Nacionalidad; 
     this.FechaNacimiento = FechaNacimiento; 
     this.Domicilio = Domicilio; 
     this.Localidad = Localidad; 
     this.TelefonoCelular = TelefonoCelular; 
     this.TelefonoFijo = TelefonoFijo; 
     this.DireccionCorreo = DireccionCorreo; 

    } 

    public int obtenerCI() { 
     return CI; 
    } 
    public String obtenerNombre() { 
     return Nombre; 
    } 

    public String obtenerApellido() { 
     return Apellido; 
    } 

    public String obtenerSexo() { 
     return Sexo; 
    } 
    public void setSexo() { 
     this.Sexo = Sexo; 
    } 
    public String obtenerNacionalidad() { 
     return Nacionalidad; 
    } 

    public String obtenerEstadoCivil() { 
     return EstadoCivil; 
    } 

    public String obtenerFechaNacimiento() { 
     return FechaNacimiento; 
    } 

    public String obtenerDomicilio() { 
     return Domicilio; 
    } 

    public String obtenerLocalidad() { 
     return Localidad; 
    } 

    public int obtenerCelular() { 
     return TelefonoCelular; 
    } 

    public int obtenerTelefonoFijo() { 
     return TelefonoFijo; 
    } 

    public String obtenerCorreo() { 
     return DireccionCorreo; 
    } 


    public void setCI(int parseInt) { 
     this.CI = parseInt; 

    } 

    public void setApellido(String string) { 
     this.Apellido = string; 

    } 

    public void setNombre(String string) { 
     this.Nombre = string; 

    } 

    public void setEstadoCivil(String string) { 
     this.EstadoCivil = string; 

    } 

    public void setDomicilio(String string) { 
     this.Domicilio = string; 

    } 

    public void setTelefonoCelular(int parseInt) { 
     this.TelefonoCelular = parseInt; 

    } 

    public void setTelefonoFijo(int parseInt) { 
     this.TelefonoFijo = parseInt; 

    } 

    public void setCorreo(String string) { 
     this.DireccionCorreo = string; 

    } 

    public void setSexo(String string) { 
     this.Sexo = string; 

    } 

    public void setNacionalidad(String miNacionalidad) { 
     this.Nacionalidad = miNacionalidad; 

    } 

    public void setLocalidad(String miLocalidad) { 
     this.Localidad = miLocalidad; 

    } 

    public void setFechaNacimiento(String string) { 
     this.FechaNacimiento = string; 

    } 


} 
+0

Welcome to StackOverflow. 이것은 수천 번 해답을 얻었습니다. 같은 참조를 계속해서 또 다시 추가하고 있습니다. List는 실제로 객체를 보유하지 않지만 참조는 보유합니다. 물어보기 전에 몇 가지 조사를 해보십시오. – m0skit0

답변

5

당신은 당신이 새로운 Socio 객체를 생성해야하는 사용자를 추가 할 수 grabar를 호출 할 때마다. 동일한 참조를 사용하면 객체의 내용 만 변경됩니다.

관련 문제