Java 正在将listner添加到导航抽屉,菜单项不起作用
我正在尝试将listner添加到我的导航抽屉菜单项中,但它不起作用。请检查我的脚本并检查此图像[谢谢 ProfileActivity.javaJava 正在将listner添加到导航抽屉,菜单项不起作用,java,android,Java,Android,我正在尝试将listner添加到我的导航抽屉菜单项中,但它不起作用。请检查我的脚本并检查此图像[谢谢 ProfileActivity.java NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图); View headerView=navigationView.getHeaderView(0); TextView prousername=(TextView)headerView.findViewById(
NavigationView NavigationView=(NavigationView)findViewById(R.id.nav_视图);
View headerView=navigationView.getHeaderView(0);
TextView prousername=(TextView)headerView.findViewById(R.id.pro_用户名);
TextView promail=(TextView)headerView.findViewById(R.id.pro_-mail);
TextView prophone=(TextView)headerView.findViewById(R.id.pro_电话);
ProDrawareLayout=(抽屉布局)findViewById(R.id.activity\U profile);
ProToggle=newactionBarDrawerToggle(this,ProDrawareLayout,R.string.open,R.string.close);
ProDrawareLayout.addDrawerListener(ProToggle);
ProToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
prousername.setText(SharedPrefManager.getInstance(this.getUsername());
promail.setText(SharedPrefManager.getInstance(this.getUserEmail());
setText(SharedPrefManager.getInstance(this.getUserPhone());
navigationView.setNavigationItemSelectedListener(新建navigationView.OnNavigationItemSelectedListener()){
@凌驾
公共布尔值onNavigationItemSelected(@NonNull MenuItem item){
开关(item.getItemId()){
案例R.id.nav_注销:
SharedPrefManager.getInstance(this.logOut();
完成();
startActivity(新意图(this,MainActivity.class));
}
卸下开关箱功能上的大写字母
开关
而不是开关
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Switch(item.getItemId()){ // the issue is here
case R.id.nav_logout:
SharedPrefManager.getInstance(this).logOut();
finish();
startActivity(new Intent(this, MainActivity.class));
}
编辑:
您不能像引用活动一样使用此
,因为在本例中,您的活动位于OnNavigationItemSelectedListener
中
试试这个:
创建类字段专用上下文mContext
。
实例化mContext
ononCreate
函数:mContext=this
;
使用mContext
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Switch(item.getItemId()){ // the issue is here
case R.id.nav_logout:
SharedPrefManager.getInstance(mContext).logOut();
finish();
startActivity(new Intent(mContext, MainActivity.class));
}
您解决问题了吗?在一个接一个的切换案例中,您缺少返回值:
return true;
bro。但我仍然在“.getinstance(this)”和(this,MainActivity.class)”行中遇到错误。请检查此图像谢谢你,伙计。我昨天刚开始生气了。非常感谢。我能再问你一个问题吗?如果这个答案已经解决了你的问题,请考虑通过点击复选标记并做一个投票来接受它。这向更广泛的社区表明你已经找到了解决的办法。如果没有答案,就没有义务这么做。新的问题你可以考虑打开一个新的主题,如果不是,当然你可以问一个问题:在我的应用程序头中,我已经创建了3个文本视图来从MySQL数据库中检索数据……其中两个是很好的,但是“电话”这是电话号码。它没有显示任何内容。我已使用postman检查了我的.php文件,它工作正常。在这种情况下,您必须打开一篇新文章,并用一些代码暴露您的问题,不幸的是,它与此问题无关。