小编Nic*_* Su的帖子

onNavigationItemSelected未被调用

我在我的应用程序中实现了一个导航视图,该视图是由我自动创建的AndroidStudio.NavigationDrawer Activity当我创建一个新项目并且菜单项看起来没问题时我拿起了,但是当我点击任何一个菜单项时没有任何事情发生.以下是我的onNavigationItemSelected()方法:

@Override
public boolean onNavigationItemSelected(MenuItem item) {
    Toast.makeText(MainActivity.this,"onNavigationItemSelected",Toast.LENGTH_LONG).show();
    // Handle navigation view item clicks here.
    item.setChecked(true);
    int id = item.getItemId();

    if (id == R.id.medicalRecord) {
        Toast.makeText(MainActivity.this,id,Toast.LENGTH_LONG).show();
    } 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawer.closeDrawer(GravityCompat.START);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

}

我的onCreate方法,我在其中创建NavigationView

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linear_layout);
    if (babyImage.exists()) {
        Drawable drawable = Drawable.createFromPath(Environment.getExternalStorageDirectory() + "/babycare/temp.jpg");
        linearLayout.setBackground(drawable);
    }

    DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    drawerLayout.openDrawer(Gravity.LEFT);
    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this); …
Run Code Online (Sandbox Code Playgroud)

android navigation-drawer android-navigationview

15
推荐指数
4
解决办法
7410
查看次数