Diferentes operaciones onCreate en una Actividad

Quiero hacer diferentes operaciones en onCreate() dependiendo de las actividades de las que vengo.

Yo hago eso haciendo esto:

Activity A: 
   intent to activity B; 
   intent.putBoolean("name",boolean=false); 
   startActivity B.

Activity B: 
onCreate(){
   Boolean.getBoolean("name"); 
   if(boolean){
   }else{**make this**} 
on the other hand if click on a Button 
   onClick {starts activity C}.

Activity C: 
do things... 
-> if click on a Button -> 
onClick { 
   intent.putBoolean(boolean=true);
   starts ActivityB}

Activity B onCreate(){ 
   if(boolean){**make this**
   } else{}

Mi pregunta: ¿Puedo hacer lo mismo de mejor manera?

Muchas Gracias

preguntado el 27 de julio de 12 a las 15:07

Que quieres decir con Can I do the same thing of better way?? -

*Cómo puedo hacer esto de mejor manera" Perdón por mi inglés -

1 Respuestas

Puede usar el atributo putExtra de la intención para pasar el nombre de la actividad que está iniciando la actividad actual. Por ejemplo, si la actividad A está llamando a C, entonces haría esto en la actividad de llamada:

    Intent intent = new Intent(this, C.class);
    intent.putExtra("activity","A");
    startActivity(intent);

En la Actividad C:

    Intent intent = getIntent();
    String activity = intent.getStringExtra("activity");

Ahora, en la actividad de la cadena obtendrá A y sabrá que viene de A. Si hace lo mismo para B, entonces su cadena de actividad será B.

Si C solo se puede iniciar a través de A o B, entonces no tiene que lidiar con nada más, pero si se puede iniciar desde HOME, por ejemplo, es posible que necesite una verificación adicional en C.

Respondido 27 Jul 12, 18:07

Quería hacer esto sin "si". Pero creo que eso es imposible. Pero gracias por la respuesta. - Dors

De nada. Me alegro de que haya ayudado. No veo una mejor manera de hacer esto. - Erol

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.