activity çalışma mantığı

Merhabalar,

Uygulamadaki activty çalışma mantığı ile ilgili bir soru soracağım. Yaptığım işlem doğru mu farklı bir yolu var mı çok merak ediyorum. Şöyleki;

.Uygulama Mainactivity ile start oluyor.  Bu activity'de bir dosya kontrolü var. Dosya var ise dosyayı okuyor kayıtları bir nesneye atıyor ve buradan farklı bir activity çalıştırıyorum. (ListActivty diyelim.) Burada ilgili kayıtları adapater ile listeliyorum. 

Sorum şu ki; bu liste her değiştiğinde (örneğin kayıtlardan birinde değişiklik yada silme işlemi yapılıyor) ben her seferinde Mainactivty'i yeniden mi startactivity ile çalıştırmalıyım. Bu şekilde her seferinde listactivty çağırıp diğer activty'nin üzerinde yeniden açılıyor. Bunun daha basit bir mantığı var mıdır_?

 

Yardımlarınız için şimdiden teşekkürler.   

 

 

 

    0

    Ulaş Sancak

    Freelance - 27 Temmuz 2014

    Evet yaptığın şey yanlış. 1.si MainActivity'nin görsel olarak bir işlevi yoksa ListView'ini direkt MainActivity'ne koyabilirsin. Bütün işlemleri orada yaparsın. Ayrıca bir activty'ye gerek yok gibi görünüyor buradan.   2.si asıl soruna gelirsek. ListView'in elemanlarında bir değişiklik yaptığın zaman. Adapter'inin şöyle bir metodu var: notifyDataSetChanged Bunu çağırarak değişiklikleri sağlayabilirsin direkt olarak. ListView yenilenir.

      erkansetcek

      Pzt, 28/07/2014 - 00:00
      Ulaş bey yorumunuz ve bilgilendirmeniz için çok teşekkürler. Evet mainactivty'i kaldırıp direk listactivty'den başlatmak gerekir. Ancak şöyle bir durum var. Ben bu liste içreisinde konum bilgileri tutuyorum. bu liste içerisinden herhangi bir kaydı seçtiğinde ilgili kaydın bilgilerinin geldiği ayrı bir activity çalışıyor. (burada yapmam gereken şey diğer activity'i çağırdığımda ListActivity'i finish() yapmam gerekir mi?) bu activity'de eğer harita üzerinde farklı bir konum seçecek ise onu işaretliyor harita üzerinde ve kaydediliyor. Sonrasında bu Listactivy'e geçişi nasıl yapmalıyım. Karışık mı oldu sorum tam emin değilim. Basitçe şu sıralama çalışıyor. 1- Listactivty (Kayıtlar listelenir). 2- Listeden kayıt tıklandığında ilgili kaydın bilgilerinin getirildiği (GetActivity) 3- Konum değişecek ise MapActivity çalışır.. Konum değiştirilir. KAyıt edilir. Bu surumda 3 activiy aktif durumda. Kayıt değiştiğinde tekrar yeni listenin gösterilmesi gerekiyor. Buradaki geçişleri nasıl yapmalıyım. Yardımcı olursanız çok sevinirim. Teşekkürler.

      erkansetcek

      Pzt, 28/07/2014 - 00:51
      yardımcı olabilecek var mı?

      rocxteady

      Pzt, 28/07/2014 - 04:18
      Şimdi bu biraz da ne istediğine bağlı. Eğer geri gelmek önemli değilse yeni activty'ye geçerken bulunduğun activity'yi finish yapabilirsin. Ama yok önemli ise şöyle olacak. Sen diyelim Map activity'sine geldin ve işlemini tamamladın en başa gitmek istiyorsun: Intent intent = new Intent(this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); FLAG_ACTIVITY_REORDER_TO_FRONT -> bu flag önceki activityleri kapatmayı sağlayacak. MainActivity'de de onResume metodunda adapterin notifyDataSetChanged metoduyla da listeyi yenileyebilirsin.

      erkansetcek

      Pzt, 28/07/2014 - 12:02
      FLAG_ACTIVITY_REORDER_TO_FRONT -> açık olan tüm activty'leri mi kapatıyor yoksa start ettiğim ve açık olan ilgili activty'mi kapatıyor.

      rocxteady

      Sa, 29/07/2014 - 05:20
      Start ettiğin activtyi en öne getirip diğerlerini kapatacaktır.

      erkansetcek

      Sa, 29/07/2014 - 12:25
      çok teşekkürler.

      rocxteady

      Per, 31/07/2014 - 12:27
      Yardımcı olabildiysem cevabı kabul eder misiniz? Kolay gelsin.
    Bu soruya cevap vermek için üye olmanız veya giriş yapmanız gerekmektedir.