android - onNavigationItemSelected 没有被调用

标签 android navigation-drawer android-navigationview

我在我的应用程序中实现了一个导航 View ,它是由 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;
}

还有我的 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);
}

当然,我为我的类(class)实现了 NavigationView.OnNavigationItemSelectedListener。

我想知道这个 NavigationView 是否应该在 Material Design 主题中实现。现在我的应用中使用的主题是 @style/AppTheme

求大神帮帮我,谢谢

最佳答案

我解决了我的问题,只是简单地更改了我的 activity_main.xml 中的顺序。 我的 DrawerLayout View 组中有一个 LinearLayout View 组和 NavigationView,起初 NavigationView 是我的 View 组中的第一个,现在我更改了顺序,第一个是 LinearLayout,第二个是 NavigationView,它按预期工作。亲!!!

但是有人能告诉我为什么会这样吗?无论显示顺序如何, View 组中的 View 顺序是否重要。

关于android - onNavigationItemSelected 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604826/

相关文章:

java - 抽屉导航中的 setText

java - Facebook 与 Android 上的 libgdx 集成

android - Android 抽屉导航中的共享按钮

android - 如何检测抽屉导航已通过边缘滑动(而不是主页图标)打开?

android - 导航 header 初始化变量上的空指针异常

android - 导航 View android中的标题重复

android - Firebase 分析刷新率

java - BuildConfig 多个 dex 文件错误 (Gradle 3.0.1)

android - 在 Android 中重启主屏幕

Android:如何将 Google+ 个人资料图片和封面照片放入抽屉导航