我正在使用带有一个下拉菜单的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.