Saya sangat baru dalam pengembangan Android.
Saya ingin membuat dan memulai kegiatan untuk menampilkan informasi tentang permainan. Saya menunjukkan informasi itu bahwa saya memerlukan gameId.
Bagaimana saya bisa memberikan ID game ini ke aktivitas? ID permainan benar-benar diperlukan sehingga saya tidak ingin membuat atau memulai aktivitas jika tidak memiliki ID.
Sepertinya aktivitas hanya memiliki satu konstruktor dengan satu parameter.
Bagaimana saya bisa melakukan itu?
Terima kasih.
android
android-activity
oncreate
VansFannel
sumber
sumber
intent.putExtra(String, Int)
.Cukup tambahkan data tambahan ke Intent yang Anda gunakan untuk menelepon aktivitas Anda.
Dalam aktivitas penelepon:
Di dalam onCreate () dari aktivitas yang Anda panggil:
sumber
Saya suka melakukannya dengan metode statis dalam aktivitas kedua:
Kemudian dari aktivitas pertama Anda (dan untuk tempat lain), Anda cukup melakukan:
sumber
String gameId = intent.getStringExtra(EXTRA_EXTERNAL_ID);
menjadiString gameId = intent.getStringExtra(EXTRA_GAME_ID);
Kode Kotlin:
Mulai
SecondActivity
:Dapatkan ID di
SecondActivity
:di mana
gameId
adalahString?
(dapat null)sumber
Jawaban yang ada (meneruskan data dalam yang
Intent
diteruskan kestartActivity()
) menunjukkan cara normal untuk menyelesaikan masalah ini. Ada solusi lain yang dapat digunakan dalam kasus aneh di mana Anda membuat sebuah Aktivitas yang akan dimulai oleh aplikasi lain (misalnya, salah satu kegiatan edit dalam plugin Tasker ) dan karenanya tidak mengontrolIntent
yang meluncurkan peluncuranActivity
.Anda bisa membuat kelas-dasar
Activity
yang memiliki konstruktor dengan parameter, kemudian kelas turunan yang memiliki konstruktor default yang memanggil konstruktor kelas-dasar dengan nilai, seperti:Jika Anda perlu membuat parameter untuk diteruskan ke konstruktor kelas dasar, cukup ganti nilai yang dikodekan dengan panggilan fungsi yang mengembalikan nilai yang benar untuk diteruskan.
sumber