Bir düzenlemenin Activity dışı türetilmiş bir sınıftan görünümüne erişmenin herhangi bir yolu var mı? Bir Akordeon sınıfı oluşturuyorum ve bazı etkinliklerin kullanıcı arayüzü öğelerine erişmem gerekiyor. Aktivite bağlamında akordeon sınıfının yapıcısına geçiyorum, ancak findViewById API'si yalnızca Etkinlik sınıfından kullanılabilir. Ayrıca, potansiyel bellek sızıntıları nedeniyle kaşlarını çatlattığından, faaliyetimin bir örneğini geçmek istemiyorum.Bir etkinliğin dışından findViewById() çağrısı
10
A
cevap
1
Görünümlerden birinin örneğini sınıfın yapıcısına geçirdim.
2
Etkinliğin içeriği aslında Etkinlik sınıfıdır. Bu nesnenin yalnızca bir Etkinlik içinde yaşayacağını varsayarsak, bunun için Etkinlik türü nesnesini geçirmesi güvenli olmalıdır. Aksi takdirde, Akordeon sınıfınızı yeniden yapılandırmayı düşünün.
2
Yararlı olabilecek bir şey.
Hiç böyle bir şey denemedim. Ayrıca herhangi bir bellek sızıntısı olup olmadığını bilmiyorum. Ama ne istediğini yapar :) "FindViewById() bir aktivite dışında dışarıdan arama"
15
Bir etkinliği yalnızca parametre olarak geçirebildiğinize eminim.
public void initSouthViews(Activity activity) {
for (int i = 0; i < southScores_.length; ++i) {
southScores_[i] = (EditText) activity.findViewById(10);
}
}
İlgili konular
- 1. ActivityResult Etkinliğin Dışından Çalıştırma
- 2. bir iframe dışından javascript işlevi çağrısı
- 3. Android Bir öğeyi, ana etkinliğin dışından nasıl okunur?
- 4. belirli bir etkinliğin İşte
- 5. GetInvocationLink'teki bir etkinliğin listesi
- 6. FindViewById Verimliliği
- 7. findViewById() NullPointerException
- 8. Bir etkinliğin bir Hizmete taşınması
- 9. Android - findViewById (R.id.list) döndürüyor null
- 10. Bir etkinlik bağlamının dışından startActivity() çağrısı, FLAG_ACTIVITY_NEW_TASK bayrağı istisnasını gerektirir: Android
- 11. parça içinde FindViewById
- 12. Android findViewById hizmet
- 13. findViewById vs şişirmek
- 14. setContentView ve findViewById
- 15. LinearLayout findViewById problemi
- 16. DialogFragment içinde FindViewById - NullPointerException
- 17. findviewbyid hatası çözümlenemiyor
- 18. findViewById fragmanı sınıfında
- 19. Etkinliğin başlangıcındaki animasyon kareleri atlar
- 20. Etkinliğin bitmesi bekleniyor
- 21. Modüller kapsamınızın dışından bir nesne kullanın
- 22. Neden (ListView) findViewById döndürüyor null?
- 23. Bir etkinliğin önceki durumu nasıl korunur
- 24. Bir Etkinliğin üstündeki degradeden kurtulmak (Android)
- 25. Sekmeli etkinliğin belirli bir sekmesini açmak niyetinde
- 26. Can DataBinding bir Etkinliğin yerelleştirilmesini engelleyebilir mi?
- 27. Araç Çubuğu - findViewbyID dönen null
- 28. Verileri Fabrika Görevleri Dışından, Görev Döngü Çağrısı ile tüm İstemcilere Gönderme İletisi
- 29. şeffaf etkinliğin tam ekran 2.3
- 30. Bir işlevdeki bir değişkenin değerini değiştirme ve kepçe dışından kullanma
Haklısınız. İşe yarıyor :) – boctulus