Soru & Cevap

Activity'den Fragment'a veri gönderme ...

12.03.2015 - 08:00

Merhabalar arkadaşlar, Activity'den Fragment'a veri göndermek istiyordum. Fakat sanki bir şeyleri yanlış yapıyor gibiyim. Öncelikle çalışma prensibinden bahsedeyim uygulamamın. Yıldız butonuna basıldığı zaman 2. Activity açılacak. Daha sonra orada bulunan ListView'deki itemlerin birine tıkladığım zaman bu değerin MainActivity'de bulunan Fragment'a yazıdırlmasını istiyorum. Yıldız'a tıkladığım zaman ikinci activity'nin açılması tamam bu sorun değil fakat ikinci activity'den mainactivy'deki fragment'a değer gönderme kısmını bir türlü yapamadım. Aynı soruyu stackoverflow'a da sordum. Kaynak kodlarına orada bakabilirsiniz.

Teşekkür ederim.

Kaynak Kodlar

 

 

Görsel kaldırıldı.

271 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-7541-1521024507.jpg
burhanaras
13.03.2015 - 04:17

Göndermek istediğin alanı 2. Activity içinde static olarak tanımla.

MainActivity içinden rahatlıkla ulaşabilirsin 2. Activity içindeki static değişkenlere.

picture-1372-1408467635.jpg
ahmtbrk
13.03.2015 - 07:54

İkinci activity'i startActivity yerine startActivityForResult ile başlatacaksın.Oradan bişey seçtiğinde

http://stackoverflow.com/a/10407371 şu dökümana göre MainActivity'ne sonucu getireceksin.

Daha sonrada da

https://laaptu.wordpress.com/tag/android-passing-data-from-activity-to-fragment/

şu örnekten yararlanarak activity'den fragmente değer gönderebilirsin.

Interface kullanarak yapacaksın örnekte mevcut.

 

 

Salih Yalçın
13.03.2015 - 08:30
Bu 2. örnek tam tersi değil mi ? Sanki fragmenttan activity'e data göndermek istiyor bu örnekte benim istediğim activity'den fragment'a data göndermek.
Ahmet Burak Demirkoparan
13.03.2015 - 08:36
Selam. Linki yanlış kopyalamışım aynen o fragmentten activity için yazılmış.Şimdi linkin arkasını düzenledim.Tekrar tıklayıp kaynağa göz atabilirsin.
Salih Yalçın
13.03.2015 - 08:46
Peki şöyle sorayım ben mesela fragmentlar arası iletişimde interface kullandım. Gayet düzgün de çalışıyor. Activity'den fragmenta data göndermek istediğimde fragmentta method tanımlayıp o methodu activityde onclick'de çalıştırıyordum. Bu da çalışıyor ama sizce böyle bir kullanım yanlış bir kullanım mı ?
Salih Yalçın
13.03.2015 - 08:52
Bunu da mesela activity'de fragment'ı new ile çağırıp o methodu çağırarak yapıyorum.
Ahmet Burak Demirkoparan
13.03.2015 - 10:17
Yanlış değil aslında eğer yüzde yüz o fragmentin o esnada attach olduğunu biliyorsan o şekilde de tetikleme yaptırabilirsin.ama yapı kompleks olursa içinden çıkılmaz hal alırsa interfaceler hayat kurtarıyor özellikle farklı isimlerde fragmentlerde hepsini aynı interfaceden implemente ederek tek satır kodla veri gönderiyorsun.
Salih Yalçın
13.03.2015 - 10:37
Kusura bakmayın burası belki sohbet ortamı haline geldi bu soru ama, sizin verdiğiniz örneği inceledim ben orada fragment activity yapıp, yine benim fragment'larda yaptığım yöntem gibi yapmışlar. Fragment Activity oluşturup, oradaki fragmenttan başka bir fragment'a data göndermişler. Kafam allak bullak oldu :D
Ahmet Burak Demirkoparan
13.03.2015 - 10:49
yok bu object oriented çok fazla yöntemle yapabilirsin o yüzden kafan allak bullak olmasın.kod işini görüyorsa performansından da şüphen yoksa esnek ise kullan.