在启动时正在调用的ActionBar中的android – onNavigationItemSelected如何避免?

我正在使用带有一个下拉菜单的ActionBar,并在Activity被创建后立即调用onNavigationItemSelected(),所以调用一个项目.我的下拉菜单的第一个项目是Home,与 android.R.id.home按下应用程序图标相同的操作,因此当应用程序启动时,它调用自身.为了避免这种情况发生,我有这个代码
if(this.getClass() != FrecView.class){  //if i am not currently on the Activity
    Intent frec = new Intent(this,FrecView.class);
    frec.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(frec);
}

但是我对所有的活动都有ActionBar,所以每次开始每个活动都会自动调用它,所以我必须为每个活动放置该代码.发生什么事?我如何防止这种情况发生?

解决方法

i am using ActionBar whit a dropdown menu and onNavigationItemSelected() is called as soon Activity is created

这不是设计为“菜单”,只不过选项卡被设计为“菜单”.列表导航旨在允许用户通过替换片段来指示当前活动的某些内容.操作项目(例如,工具栏按钮,操作溢出区域)用于在活动之间导航.

The first item of my dropdown menu is Home the same action as pressing the application icon whit android.R.id.home so when application starts it calls itself.

所以,从你的“菜单”中删除.用户可以按左侧的应用程序图标在家中导航.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...