我在我的DrawerLayout中使用了NavigationView,假设它有一个简单的菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_settings_black_24dp"
android:title="@string/title_settings"/>
</menu>
现在我为点击设置监听器:
mNavigationVeiw.setOnNavigationItemSelected(this);
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.nav_settings:
SettingsActivity.startActivity(this);
mDrawerLayout.closeDrawer(GravityCompat.START);
return true;
}
return false;
}
问题在于我看不到涟漪效果。当我长按项目时,涟漪是显示的,但是点击没有反应。我认为问题在于我在点击后打开了Activity而不是替换片段,并且我的菜单应该有额外的选项。我该如何解决这个问题?
编辑
当我设置时,一切都正常工作,但在我的情况下,不是这种行为,因为我正在启动另一个活动,它不应该检查已单击的项目,因为在这个新活动中,返回按钮位于顶部而不是访问导航抽屉。