2014-11-17 253 views
0

我有兩個活動。我使用第一個模擬用戶的「登錄」,在下一個活動中,我通過了所有用戶的「usuarios」對象。問題是,當我從一個活動中刪除一個用戶時,它不會顯示在其他活動中。我不使用指針?從日誌將指針從一個活動傳遞到另一個活動

代碼活動:

public void ejecutarIniciarSesion (View view){ 

    TextView usuario = (TextView) findViewById(R.id.textField_usuario); 
    TextView password= (TextView) findViewById(R.id.textField_pass); 

    String pass = usuarios.getPass(usuario.getText().toString()); 

    if (password.getText().toString().equalsIgnoreCase(pass)){ 

     usuarios.getUsuario(usuario.getText().toString()).Set_Conected(1); 
     Intent actividad = new Intent(this, MiCuenta.class); 
     actividad.putExtra("usuarios", usuarios); 
     actividad.putExtra("user",usuario.getText().toString()); 
     usuario.setText(""); 
     password.setText(""); 
     startActivity(actividad); 
    } 

    else{ 
     usuario.setText(""); 
     contraseña.setText(""); 
    } 
} 

這裏就是我得到的對象:

公共類MiCuenta延伸活動{

PruebaUsuarios usuarios; 
String nombre,apellidos; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mi_cuenta); 

    usuarios = (PruebaUsuarios) getIntent().getExtras().getSerializable("usuarios"); 

    nombre = usuarios.userOnline(); 
    apellidos = usuarios.getUsuario(nombre).Get_Apellidos(); 

    TextView nombreText = (TextView)findViewById(R.id.textView1); 
    TextView correoText = (TextView)findViewById(R.id.textView2); 

    nombreText.setText("Benvingut "+nombre+" "+apellidos); 
    correoText.setText("Correo: "+usuarios.getUsuario(nombre).Get_Email()); 
} 

這裏是我刪除對象,來自類MiCuenta:

public void ejecutarBorrarCuenta(View view){

usuarios.borrarUsuario(nombre); 
    this.finish(); 

} 

我使用vector.removeAllElements(),但在其他活動中,矢量仍包含所有內容。爲什麼發生這種情況?

+0

使用startActivityForResult並在回調時更新第一個活動中的代碼。 http://hmkcode.com/android-startactivityforresult/ –

回答

0

當您意圖傳遞對象時,您沒有傳遞指向它的指針。對象(比如你的例子中的列表)在你將它放到意圖時序列化,而不是在你獲得它時進行反序列化。因此,您應該找到另一種方法從您的第一個活動中獲取實際數據。

相關問題