Özel bir görünümüm var ve etkinliğinde bulunan bir Dizeye erişmek istiyorum. Görünüm sınıfında getContext()
kullanan kod görmüştüm, ancak bir amaç aracılığıyla etkinliğinde kullanılabilir olan String'e erişmek için bir yöntem yoktur. Özel görünümüne uygun bir etkinlikte Dize nasıl oluşturulur?Özel görünüm, etkinliğine nasıl erişebilir?
cevap
Görünüm sınıf dönüşlerinde getContext() yöntemi yapıcı üzerinde geçirilen bağlam. Genellikle istediğiniz etkinlik budur (Etkinlik, İçeriği genişletir). Yani bu muhtemelen sizin için çalışır:
((Activity)getContext()).someMethod(...);
Hala java ve android için noob var, bu yüzden işe yaramayabilir, ama sadece yardım etmeye çalışıyorum.
Örneğin, "putExtra" ve "getExtra" seçeneğini kullanarak Intents'in/faaliyetlere parametrelerinde geçmesi gerekir: "onCreate" in Ardından
Intent EditDebtActivity = new Intent(getBaseContext(), EditDebt.class);
EditDebtActivity.putExtra(DbAdapter.KEY_ROWID,dRowID);
EditDebtActivity.putExtra(DbAdapter.KEY_DEBT, dName);
EditDebtActivity.putExtra(DbAdapter.KEY_STARTINGAMOUNT, dStartAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_CURRENTAMOUNT, dCurrentAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_DUEDATE, dDueDate);
EditDebtActivity.putExtra(DbAdapter.KEY_INTERESTRATE, dInterestRate);
EditDebtActivity.putExtra(DbAdapter.KEY_MINPAYMENT, dMinPayment);
startActivity(EditDebtActivity);
: ana etkinlikte
Bundle extras = getIntent().getExtras();
dRowID = extras.getLong(DbAdapter.KEY_ROWID);
String rowidname = extras.getString(DbAdapter.KEY_DEBT);
currentamount = extras.getDouble(DbAdapter.KEY_CURRENTAMOUNT);
startingamount = extras.getDouble(DbAdapter.KEY_STARTINGAMOUNT);
duedate = extras.getInt(DbAdapter.KEY_DUEDATE);
açıkçası benim kendi kodunu kullandım, ancak bir kullanıcı bir düğmeye tıkladığında yeni bir faaliyet içine satır bilgilerini geçirerek: yeni görünümde metot, aşağıdaki kullanın.
putextra ve getextra kullanımıyla ilgili daha fazla bilgi için bu SO bağlantısına bakın: Bu yardımcı olur
Sending arrays with Intent.putExtra
Umut, bu benim ilk katkı topluluğunun :) geri var
R Merhaba tahnks ilk katkılarından dolayı :) i kökünde jpeg dosya adlarını listeleyen bir liste görünümü var. Kullanıcı seçtiğinde, bu dosya adında bir niyetle tetikler. Kayıt aktivitesi dosya adını alabilir, ancak özel bir görünüm olan görünüm dosya adına erişemez. Teşekkürler. – turtleboy
- 1. /dev/urandom etkinliğine open_basedir erişebilir miyim?
- 2. İlkbahar/Hazırda Bekletme Özel Üyelerine Nasıl Erişebilir?
- 3. Hazırda bekletme özel alana nasıl erişebilir?
- 4. OWA'da Özel Takvim Etkinliğine Doğrudan Bağlantı
- 5. Özel MVC, denetleyici için bir render işlevinin nasıl uygulanacağı, böylece Görünüm Denetleyici tarafından ayarlanan değişkenlere erişebilir
- 6. Özel görünüm
- 7. Özel .NET Sınıfım'a PowerShell'den erişebilir miyim?
- 8. Flask Admin Özel Görünüm
- 9. Özel görünüm adaptörü
- 10. özel dosyalar görünüm
- 11. Özel Görünüm şişirmiyor
- 12. UITableView SectionIndexTitle Özel Görünüm
- 13. Özel Görünüm görünmüyor
- 14. Listelerden listdialog'un tıklama etkinliğine nasıl seçilebilirim?
- 15. Basit etkinlikten çekmece etkinliğine nasıl geçilir?
- 16. Durandal Özel Görünüm Konumu Strateji
- 17. Özel Görünüm içinde görünümler nasıl eklenir?
- 18. Düğmeye basıldığında UITableviewCell'de özel görünüm nasıl görüntülenir?
- 19. Yuvalanmış özel görünüm sınıfı nasıl belirlenir?
- 20. JavaFX - Özel Liste Görünümü Görünüm
- 21. OnClickListener Özel Görünüm için tetiklenmedi
- 22. varsayılan google harita etkinliğine ekleme düğmesi
- 23. Özel Görünüm Neden Geçersiz Olmuyor?
- 24. Genişletilebilir liste-görünüm android, özel drawables ayarlayın
- 25. Web API'sinden IIdentity'ye erişebilir
- 26. android simulate Özelleştirilebilir görünüm görüntüleyin özel görünümde
- 27. nasıl erişebilir ve HTML 5'i
- 28. HTML5 doğrulama kullanıldığında gönderme etkinliğine nasıl bağlanır? HTML5 tarayıcılarda
- 29. Özel görünüm Yatay kaydırma görünümünde gösterilmiyor Çalışmıyor
- 30. Özel görünüm adlarını kısaltmak mümkün mü?
simao mükemmel, çok teşekkürler. – turtleboy
Görünümün doğrudan Etkinlik tarafından oluşturulduğu durumlar için iyi bir çözümdür. Bu her zaman böyle değildir. Görünüm bir İletişim Kutusu veya bir PopupWindow görünümüyse, daha sonra bir Etkinlik olarak bağlamı dökmek – EyalBellisha
hatasıyla sonuçlanır. @EyalBellisha'nın belirttiği gibi, bu her zaman işe yaramayabilir. Örneğin, android.support.v * 'dizininden genişletildiğinde, içerik sarılı uyumluluk widget'ları söz konusu olduğunda, getContext() işlevi, Etkinlik türünde olmayacaktır. Örneğin, AppCompatButton için, TintContextWrapper türünde ve Etkinliğe yayınlanamaz. –