Bir parametre ile bir Faaliyet başlatma
Android geliştirme konusunda çok yeniyim.
Bir oyun hakkında bilgi göstermek için bir etkinlik oluşturmak ve başlatmak istiyorum. Bu bilgiyi göstermek için bir gameId'ye ihtiyacım var.
Bu oyun kimliğini aktiviteye nasıl aktarabilirim? Oyun kimliği kesinlikle gerekli, bu yüzden kimliği yoksa etkinliği oluşturmak veya başlatmak istemiyorum.
Sanki aktivitenin tek parametreli sadece bir kurucusu varmış gibi.
Bunu nasıl yapabilirim?
Teşekkürler.
279
3
Yeni
Intent
içine kimliğiniz olan birint
koyun.Ardından yeni
Activity
etkinliğinizdeki kimliği alın:Aktivitenizi çağırmak için kullandığınız Intent'e ekstra veri eklemeniz yeterlidir.
Arayan etkinliğinde:
Çağırdığınız aktivitenin onCreate() işlevinin içinde:
Düzenleme : Oops, Charlie Sheen daha hızlıydı.
Mevcut yanıtlar (
startActivity()
ye aktarılanIntent
içindeki verileri aktarmak) bu sorunu çözmenin normal yolunu göstermektedir. Başka bir uygulama (örneğin, bir Tasker eklentisindeki düzenleme etkinliklerinden biri) tarafından başlatılacak bir Etkinlik oluşturduğunuz ve bu nedenleActivity
yi başlatanIntent
i kontrol etmediğiniz garip durumlarda kullanılabilecek başka bir çözüm daha vardır.Parametre içeren bir kurucuya sahip bir temel sınıf
Activity
oluşturabilir, ardından temel sınıf kurucusunu bir değerle çağıran varsayılan bir kurucuya sahip bir türetilmiş sınıf oluşturabilirsiniz:Temel sınıf kurucusuna aktarılacak parametreyi oluşturmanız gerekiyorsa, sabit kodlanmış değeri aktarılacak doğru değeri döndüren bir işlev çağrısıyla değiştirmeniz yeterlidir.