2013-03-10 19 views
8

A, B ve C sınıflarım var. A sınıfı B'ye, B'ye C'ye gönderir, C'nin B'ye döndüğünü ..... sonra B sınıfının onCreate'inin içinde sınıf A'nın niyetini ister. çünkü onun C sınıfından gelmesi onu almaz ama hala ADaha fazla niyet ve onCreate yöntemi mi alıyorsunuz?

sınıfının amacına ihtiyacım var. Bir çözüm ekstra.getString bir veritabanında veya benzer depolamak için sanırım olabilir?

Bundle extras = getIntent().getExtras(); 
newString = extras.getString("ID"); 
+1

Şunu mu demek istediniz: A-> B-> C-> A (yazarken) veya A-> B-> C-> B (daha sonra ima ettiğiniz gibi)? –

+0

Oh apoligize, demek istediğim A-> B-> C-> B – user1876202

+0

İstediğiniz tek şey "ID" –

cevap

2

Yani alıcı aktivitesinin üzerinde fazladan

intent.putExtra("ID_FROM_A", value); // except for ActivityA value = mIdFromA 
startActivity(intent); 

koyun:

etkinliğinizi A:

  • IntentAtoB oluşturur
  • başlatır B Etkinliği

etkinliğinizi B

Aktivite Cı

    Aktivite C başlatır intentBtoC oluşturur intentAtoB alır
  • Alma intentBtoC
  • yapar şeylerin

Şimdi: Does Etkinlik C: Tekrar B bitirmek() veya

  • başlangıç ​​Aktivite kullanarak Etkinlik B'ye

    1. dönüş?

    1, B Aktivitesi'ne döndüğünüzde, ilk oluşturulduğunda ayarladığınız her şeye sahip olacaktır. Bu nedenle, B'nin onCreate'daki amacından her şeyi almanız gerekir.

    2 ise, her bir aktiviteyi başlatmak için kullandığınız amaçlarda bilgileri zincire indirmeniz yeterlidir.

    Eğer (a) sıralamanın ne olduğunu ve (b) yukarıdaki harflerin neden işe yaradığını açıklığa kavuşturabilirseniz, eminim ileriye doğru gidebiliriz.

  • +0

    Yaklaşım '1. finiş() kullanarak Activity B'ye dönüş, 'daha iyidir. Aktivite B'deki değerleri ** Sınıf Seviye Değişkenleri ** 'de, “Aktivite B'de onCreate()” da sakladım. Yukarıdaki cevabımda size önerdiğim gibi. – user370305

    +0

    @ user370305 Bunun daha iyi bir yaklaşım olduğunu kabul ediyorum, sadece yazarın gerçekte nerede olduklarına yardımcı olmak için ne yaptıklarını sormaya çalışıyorum. –

    5

    Tam olarak Etkinlikler akışınızı bilmediğimden bu bir çözümdür, ancak uygun olanı olmayabilir.

    yeni etkinlikleriniz başlattığınızda bunu doğru var ise,

    onCreate() 
    { 
        mIdFromA = getIntent().getStringExtra("ID_FROM_A"); 
    } 
    
    İlgili konular