Enviar datos de más de una actividad a la una actividad?
Quiero enviar datos a una actividad de dos actividades … como A, B y C cuando la Actividad A envía datos a la Actividad B también la Actividad C envía datos a la Actividad B cómo la Actividad B conoce estos datos procedentes de A o C para ejemplo:
//this Activity A Intent i=new Intent(this,B.class); //send data by i such as id //this Activity C Intent in=new Intent(this,B.class); //send data by in Intent such as id //send data by in Intent such as email //in activity B Bundle val =getIntent().getExtras(); if(val!=null) int id=val.getInt("id"); String s=val.getString("email"); // to show Toast.makText(Main.this, id, Toast.LENGTH_LONG).show(); Toast.makeText(Main.this, s, Toast.LENGTH_LONG).show();
También tuve el mismo problema, entonces lo resolví mediante la adición de FLAGS como de la actividad de los datos que viene. Ejemplo:-
//this Activity A Intent i=new Intent(this,B.class); i.putExtra(key, value); i.putExtra("from_which", "from_a"); //this Activity C Intent i=new Intent(this,B.class); i.putExtra(key, value); i.putExtra("from_which", "from_c"); // in activity B Intent intent = getIntent() String from_which = intent.getStringExtra("from_which"); if(from_which.equals("from_a")){ // from A } else if(from_which.equals("from_c")){ // from C }
Cómo sobre usted agrega un nuevo extra que hará su consigue la actividad anterior como:
i.putExtra("Activity","A");
Lo mismo ocurre con la actividad C:
i.putExtra("Activity, "C");
Y en la Actividad B:
Bundle val=getIntent().getExtras(); if(val!=null) int id=val.getInt(Key); String s=val.getString("email"); String activity = val.getString("Activity");
A continuación, utilice la variable Activity para identificar la preciosa Acitvity
espero que esto te ayude. Revise esta pregunta antes de
Puede usar una clase global y guardar los valores utilizando getter setter.and on activity obtener los valores utilizando objetos.