SORU
6 HAZİRAN 2010, Pazar


Özel bir olay Android uygulaması üzerinde dinleyici

Basit bir olay dinleyici ListView yenilemek için ayarlamak için bir arada istiyorum. Sorun nasıl bir olay oluşturabilir miyim bilmiyorum.

Anahtar veya düğme gibi olaylar basmak için sadece Handler uygulamak gerektiğini biliyorum. Ama aslında her zaman kovulacak olan etkinlik oluşturmak için gereken bu özel durumda uygulamam başka bir çalışan iş parçacığı uyanır ve bir RSS haber listesini yeniler.

Her şeyi yaptım, ama burada sıkışmış. Bu nasıl uygulanacağı konusunda biraz daha bilgi ile herhangi bir öneri ya da link alabilir miyim?

CEVAP
5 ŞUBAT 2012, Pazar


  1. Bir geri arama arabirimi tanımlar

            public interface NewsUpdateListener 
            {
                void onNewsUpdate(<News data to be passed>);
            }
    
  2. RSS alır arka plan iş parçacığı bir kayıt tesis sağlamak

        class <Background processing class name> 
        {
        ....
            ArrayList<NewsUpdateListener> listeners = new ArrayList<NewsUpdateListener> ();
        .... 
            public void setOnNewsUpdateListener (NewsUpdateListener listener) 
            {
                // Store the listener object
                this.listeners.add(listener);
            }
        ....
        }
    
  3. Haberler kullanılabilir olduğunda geri ateş

    ....
    for (listener : listeners) 
    {
        listener.onNewsUpdate(<News data to be passed>);
    }
    ....
    
  4. Dinleyici bir yerde başlatma sırasında kayıt

    ....
        <class <Background processing class object>.registerListener
    (
        new OnNewsUpdateListener() {
            onNewsUpdate(<News Data>) {
                // process news data
                runOnUIThread(new Runnable() {
                    public void run() {
                        // refresh list view
                    }
                }
            }
    }
    ....
    

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • Nightmare2005

    Nightmare200

    14 Ocak 2007