2013-12-12 21 views
8

Ben OnItemClickListener içinde getActivity() aramak çalışıyorum:Android: OnItemClickListener() içinde getActivity() nasıl çağrılır?

class ViewTest{ //called in a fragment 
setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int p, long i) { 
       ((MainActivity) getActivity()).makeResultsbarVisible(); 
... 
      } 

     }); 

} fragmanı

, sınıf olarak başlatılır:

ViewTest editTest = new ViewTest(this); 

Ama bir hata alıyorum ben düzeltemiyor:

The method getActivity() is undefined for the type new AdapterView.OnItemClickListener(){} 

Nasıl getActivity çağırabilirim onItemClick() içinde? Teşekkürler.

+0

mümkünse sen Fragment kullandığınız ... Tam sınıf kodu göndermeden kullanarak? –

+0

Bu bir etkinlik veya bir bölüm midir? – rahulritesh

+0

, bir parçada ( – user2212461

cevap

25

Fragment sınıfında veya bir tane genişleterek yalnızca getActivity'u kullanabilirsiniz. senin onItemClickListener bir Activity kullanım MainActivity.this

+0

Harika çözüm! Ne MainActivity.this tam olarak ne MainActivity sınıfı, MainActivity geçerli örneğinin içinde çağrılırken ne verir? – pepper42

0

kullanın Class_name.this ya ise bir Context değişken tanımlayın. ve daha sonra çağrı senin makeResultsbarVisible()Context değişkeni,

gibi

Context c = this; 

c.makeResultsbarVisible(); 
İlgili konular