Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正在将listner添加到导航抽屉,菜单项不起作用_Java_Android - Fatal编程技术网

Java 正在将listner添加到导航抽屉,菜单项不起作用

Java 正在将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(

我正在尝试将listner添加到我的导航抽屉菜单项中,但它不起作用。请检查我的脚本并检查此图像[谢谢

ProfileActivity.java

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
on
onCreate
函数:
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文件,它工作正常。在这种情况下,您必须打开一篇新文章,并用一些代码暴露您的问题,不幸的是,它与此问题无关。