2016-04-13 33 views
1

güncellenmiyorsa Ben saatlerce anlamaya bir mesele, Değişkenler

Bir etkinlik içinde bir fragmanları, ve bazen aşağıdaki kodlarla fragmanını çağrı "fragment.onResume();" I kullanma fragmanlarını gösterirken onResume olarak
 newsFeedFragment fragment = new newsFeedFragment(); 
     android.support.v4.app.FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); 
     fragmentTransaction.hide(getSupportFragmentManager().findFragmentById(R.id.fragment_container)); 
     fragmentTransaction.hide(getSupportFragmentManager().findFragmentByTag("notifications_fragment")); 
     fragmentTransaction.show(getSupportFragmentManager().findFragmentByTag("news_feed_fragment")); 
     fragmentTransaction.addToBackStack(null); 
     fragment.onResume(); 
     fragmentTransaction.commit(); 

olarak değil Aşağıdaki kodda. Ve parça gösterildiğinde, onResume çağrılır. Ancak, onResume yöntemindeki bir değişkeni güncellemeye çalışıyorum ancak aşağıdaki kodla güncellenmiyor. OnResume denildiğinde, logda sonuç olarak "1" görüyorum, ancak her seferinde 1 oranında artış bekliyorum. Çalışması için bir yolu var mı?

int refreshNotificationVar = 0; //in the main class 

@Override 
    public void onResume(){ 
     super.onResume(); 

     refreshNotificationVar = refreshNotificationVar + 1; 

     System.out.println(refreshNotificationVar); 

    } 

cevap

1

OnPause ve onResume durumunda örnek değişkenlere güvenemezsiniz; Bir dereceye kadar statik değişkenlere güvenebilirsiniz; onSaveInstanceState'i kullanabilirsiniz; veya değişken değerleri saklamak için bir Singleton sınıfı kullanın; veya paylaşılan tercihlerde saklayın; veya ihtiyaçlarınıza bağlı olarak bir veritabanında saklayabilirsiniz. Durumunuzda, değerleri depolamak ve onPause/onResume'de almak/ayarlamak için bir Singleton sınıfı kullanırdım.

+0

http://stackoverflow.com/questions/36617328/singleton-method-gives-error-in-onresum-android/36619685#36619685 Merhaba ozo, ben singleton var kullanıyorum ama kullanarak hata var, bağlantıyı kontrol edebilir misiniz altında? – saner

+0

Sanırım tekil sınıfını yanlış uyguladınız. Temel bir örnek için lütfen https://gist.github.com/Akayh/5566992 adresine bakın. – ozo

+0

Hey ozo, çok teşekkür ederim, günümü kurtardın, bunu saatlerce tamir etmeye çalışıyorum :) Bağlantınızdaki yol işe yaradı. – saner