Soru & Cevap

MainActivity Context Aktarımı

30.11.2013 - 03:44

Merhaba,

MainActivity'nin context'ini başka bir class'ımda tanımlı olan metoduma parametre olarak geçtiğimde null değer döndürüyor, context i alamıyorum bu sorunu nasıl çözebilirim?

Ör: public getContext(Context context){

context --> Null

}

111 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-3650-1421928561.jpg
anilsozeri
01.12.2013 - 12:25

- Söylediğiniz gibi denemiştim ilk başta fakat MainActivity.this olarak yolladığımda parametre olarak kabul etmiyor . O nedenle zaten ekstra bir değişkende tutmaya ihtiyaç duydum.

- Sınıfımda context i set etmiyorum sadece MainActivity'deki context'ime ulaşmam gerekiyor yukarıda da zaten ApplicationContext() olarak gönderdim ama yine de sorunuma çözüm bulamadım, başka bir nedenden kaynaklanıyor olabilir mi acaba?

- İnternette bu konuda sormadan önce biraz araştırma yaptım genelde buffer yani tampon sınıf kullanın vs. tarzında önerilerde bulunulmuş ama henüz kesin bir çözüme ulaşamadım bu şekilde yapamazsam daha dinamik bir yapıda olmasını istesemde mecburen projemi tek class üzerinden çalıştıracağım.

 

Profile picture for user yasinkafadar
yasinkafadar
30.11.2013 - 10:15

- Activity içinde context diye ayrı bir değişken tutmana bence gerek yok. MainActivity.this şeklinde activity'nin referansını da gönderebilirsin.

- Eğer alertNoGpsA sınıfında context'ini bir kere set edip tutuyorsan getApplicationContext() göndermeni tavsiye ederim. Bu method'dan dönen context global application'ının context'i oluyor. 

 

picture-3650-1421928561.jpg
anilsozeri
30.11.2013 - 07:04

public class MainActivity extends FragmentActivity {

    private Context context;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.setContext(this.getApplicationContext());
    }

public Context getContext() {
        return context;
    }

    public void setContext(Context context) {
        this.context = context;
    }

 

alertNoGpsA.alertNoGps(context);

context, alertNoGpsA class'ımdan türettiğim alertNoGps in Context tipinden aldığı parametre ben buraya MainActivity'nin Context'ini vermek istiyorum getContext() metodunu kullandığımda null değer döndürüyor.

    CTRL + Q to Enable/Disable GoPhoto.it
Profile picture for user yasinkafadar
yasinkafadar
30.11.2013 - 06:27
Selam Anıl, getContext metodunu nasıl cagirdigini tam olarak yazabilir misin? Sorunu tam olarak anlamamız için MainActivity ve getContext metodunun tanımlı olduğu class i paylaşabilir misin?