2012-09-26 49 views
22

getActivity() ne anlama geliyor? Bir yerlerde gördüm, getActivity() yerine MainActivity.this.startActionMode(mActionModeCallback) yazdılar. Birisi bu iki çizginin ne anlama geldiğini açıklayabilir mi?getActivity() ne anlama geliyor?

someView.setOnLongClickListener(new View.OnLongClickListener() { 
     // Called when the user long-clicks on someView 
     public boolean onLongClick(View view) { 
      if (mActionMode != null) { 
       return false; 
      } 

      // Start the CAB using the ActionMode.Callback defined above 
      mActionMode = getActivity().startActionMode(mActionModeCallback); 
      view.setSelected(true); 
      return true; 
     } 
    }); 
+1

Büyük olasılıkla getActivity(), Android API'sinden değil, kullanıcı tanımlı bir yöntemdir. Daha fazla kod gönderebilir misin? Özellikle, bunun Activty veya başka bir şeyi uzatan bir sınıfta olup olmadığını bilmek isterim. –

+0

Parçalar kullandığınızda, bağlamın yalnızca –

cevap

46

İki muhtemel tanımları: Bir Fragment içinde

+1

bağlantısını almanın bir yolu var! ve bu çizginin ne anlama geldiğini açıklayabilir misiniz ** MainActivity.this **? 'MainActivity' içindeki kodunuz için – zoey

+4

, 'MainActivity.this' içinde bulunduğunuz 'MainActivity' örneği için bir Activity nesnesini döndürecektir. 'Activity' 'Context' öğesini genişletir; ' –

3

getActivity() - Bu parçanın ilişkili olduğu etkinliği döndürün.

0

Benzer bir şüphe vardı, bilmem gereken, getActivity(), parçanın ilişkili olduğu Activity değerini döndürdü.

getActivity() yöntemi, statik etkinlik olarak statik bileşende kullanılmaz, çünkü ilgili etkinlik statik olmayacak ve statik olmayan üye statik üyede kullanılamaz.

I used <code>getActivity()</code> here to get non-static activity to which the the placeholder fragment is associated.

7

getActivity()fragment için kullanılır. activity için, this'u kullanabildiğiniz her yerde this'u fragment ile getActivity() benzeri durumlarda değiştirebilirsiniz.