Когда я помещаю объект в пакет, чтобы перенести его в другое действие, происходит изменение значения атрибута IdEscritorio. В моей LoginActivity IdEscritorio величина = 1, когда я получаю в моей основной деятельностью является его со значением 7.Значения меняются при вставке в Bundle
LogCat
LoginActivity Метод
private void IniciarMainActivity(Usuario usuarioAutenticado)
{
//Iniciar Activity Main
Intent i = new Intent(LoginActivity.this, MainActivity.class);
Bundle b = new Bundle();
b.putParcelable("usuarioAutenticado", usuarioAutenticado);
Log.d(TAG, "IdEscritorio: " + String.valueOf(usuarioAutenticado.getIdEscritorio()));
i.putExtras(b);
startActivity(i);
}
MainActivity onCreate()
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Widgets
InicializeComponents();
//Listeners Events
Listeners();
//Recuperar os valores de usuario autenticado enviado da activity Login
_usuarioAutenticado = new Usuario();
Bundle bundle = getIntent().getExtras();
if(bundle != null)
_usuarioAutenticado = bundle.getParcelable("usuarioAutenticado");
Log.d(TAG, "IdEscritorio: " + String.valueOf(_usuarioAutenticado.getIdEscritorio()));
}
класса Новичок
public class Usuario implements Parcelable {
private int Id;
private int IdEscritorio;
private String Nome;
private String Login;
private String Senha;
/**
* Construtores
*/
public Usuario()
{
super();
}
public Usuario(Parcel parcel)
{
this();
this.Id = parcel.readInt();
this.IdEscritorio = parcel.readInt();
this.Nome = parcel.readString();
this.Login = parcel.readString();
this.Senha = parcel.readString();
}
/**
* Propriedades
*/
public void setId(int id) {
Id = id;
}
public int getId() {
return Id;
}
public int getIdEscritorio() {
return IdEscritorio;
}
public void setIdEscritorio(int idEscritorio) {
IdEscritorio = idEscritorio;
}
public String getNome() {
return Nome;
}
public void setNome(String nome) {
Nome = nome;
}
public String getLogin() {
return Login;
}
public void setLogin(String login) {
Login = login;
}
public String getSenha() {
return Senha;
}
public void setSenha(String senha) {
Senha = senha;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel out, int flags)
{
out.writeInt(getId());
out.writeString(getNome());
}
public static final Parcelable.Creator<Usuario> CREATOR = new Parcelable.Creator<Usuario>(){
@Override
public Usuario createFromParcel(Parcel in){
return new Usuario(in);
}
@Override
public Usuario[] newArray(int size) {
return new Usuario[size];
}
};
}
Вы можете сделать это нравится: 'если (сверток! = NULL) { _usuarioAutenticado = bundle.getParcelable ("usuarioAutenticado"); Log.d (TAG, "IdEscritorio:" + String.valueOf (_usuarioAutenticado.getIdEscritorio())); } 'и снова проверить результат? – helleye
Тот же результат в журнале, значение остается неизменным. –