Soru & Cevap

Navigation Drawer İtem Click Event

23.08.2017 - 05:34

merhaba,

Android Studio'da Navigation Drawer üzerinde çalışma yapmaktayım. Menüme eklemiş olduğum Itemların onClick event'ını nasıl oluştururum. Sayfalar arası geçiş yapmaya çalışıyorum. Yardımınız için şimdiden teşekkürler

187 Görüntülenme

1 Cevap

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

picture-73270-1510122576.jpg
muratymn.72
11.09.2017 - 05:04

Selam Furkan,

ilk olarak  item selected listener ı implements ederek başlayaabiliriz 


 

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener

dava sonrasında implements ettigimiz den dolayı var olan metodlarını kullanmamıza zorlayacaktır.

@Override public boolean onNavigationItemSelected(

@NonNull MenuItem item) { // Handle navigation view item clicks here.

switch (item.getItemId()) {

//ekledigin itemleri id lerine gore erişiyorsun

case R.id.nav_maths: {

//Sayfalar Arası Geçiş YApacagın yer. activity ise Intent  yapını kullanarak geçiş

break;

 }

}

mDrawerLayout.closeDrawer(GravityCompat.START);

return true;

}

Sonrasında Listener Metodumuzu Tanımlıyouruz

private void setNavigationViewListner() {

NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this);

}

En son Olarak OnCreate MEtodunun içerisinde Tanımladığımız listenere çagırıyoruz.


protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setNavigationViewListner()

}

 

Switch case yapısını kullanmak istemezsen if else yontemiylede yapabilirsin bu yöntememi ama switch Case i öneririm hız olarak daha da iyi.

 

 int id = item.getItemId();

    if (id == R.id.nav_camera) {
        // Handle the camera action
    } else if (id == R.id.nav_gallery) {

    } else if (id == R.id.nav_slideshow) {

    } else if (id == R.id.nav_manage) {

    } else if (id == R.id.nav_share) {

    } else if (id == R.id.nav_send) {

    }