2014-11-17 203 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

当您意图传递对象时,您没有传递指向它的指针。对象(比如你的例子中的列表)在你将它放到意图时序列化,而不是在你获得它时进行反序列化。因此,您应该找到另一种方法从您的第一个活动中获取实际数据。

相关问题