2015-03-30 36 views
9

İşte kod bölümüm. İlk liste öğesine tıkladığınızda MrsClubb etkinliğini başlatan bir gezinme menüsü yapmaya çalışıyorum. Benim koduna bu koyduğunuzda Ancak hata ile çıkageldi:Android, kurucu amacını çözemiyor

Cannot resolve constructor 'Intent(android.widget.AdapterView.OnItemClickListener,java.lang.Class<com....etc>)' 

Herhangi fikirleri nasıl bu sorunu çözmek için?

Çifte **, kodda hatanın nerede olduğunu gösterir.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); 
    mDrawerLayout = (DrawerLayout)findViewById(R.id.drawer); 
    mDrawerList = (ListView)findViewById(android.R.id.list); 
    mDrawerListItems = getResources().getStringArray(R.array.drawer_list); 
    mDrawerList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mDrawerListItems)); 
    mDrawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      switch(position) { 
       case 0: 
        Intent i = new Intent**(this, MrsClubb.class);** 
        startActivity(i); 
      } 
      mDrawerLayout.closeDrawer(mDrawerList); 

     } 
    }); 
    mDrawerToggle = new ActionBarDrawerToggle(this, 
      mDrawerLayout, 
      toolbar, 
      R.string.drawer_open, 
      R.string.drawer_close){ 
     public void onDrawerClosed(View v){ 
      super.onDrawerClosed(v); 
      invalidateOptionsMenu(); 
      syncState(); 
     } 
     public void onDrawerOpened(View v){ 
      super.onDrawerOpened(v); 
      invalidateOptionsMenu(); 
      syncState(); 
     } 
    }; 
+2

"view" işlevini "this" yerine "this" yerine Intent constructor –

+0

@Zygotelnit kullanın. Evet, maalesef postalamam için 90 dakika beklemem gerekiyor ama yazdığımda bir bağlantı gönderiyorum görmek için burada. –

+0

@JonathanChappell: sorunuzu bekliyorum :) –

cevap

26

Sorun::

Sen this olarak, bir iç sınıf içinde Activity başvurmak için this kullanamaz iç bir referans haline İşte

kod bölümüdür sınıf. constructor not resolved mesajın anlamı derleyici yerine doğru ve ne derleyici bekliyor

Intent(Context context, Class class) 

arasında, tanımadığı

Intent(AdapterView.OnItemClickListener listener, Class class) 

gibi yorumlayan olmasıdır.

Çözüm:

MyActivity bu kod ait olduğu Activity sınıfın adıdır

Intent i = new Intent(MyActivity.this, MrsClubb.class); 

ile

Intent i = new Intent(this, MrsClubb.class); 

değiştirin.

+0

Teşekkür ederiz! ancak, uygulamamı her çalıştırdığımda ve konum 0'ı tıkladığımda hata çözüldü. Uygulama çalışmayı durdurdu. –

İlgili konular