我在我的应用程序中实现了一个NavigationView,这是由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);
}
当然,我已经为我的类实现了NavigationView.OnNavigationItemSelectedListener。
我正在想是否应该在Material Design主题中实现此NavigationView。现在我的应用程序使用的主题是@style/AppTheme
。
请有人帮我解决这个问题,谢谢。