2016-06-11 60 views
1

我想在我的android应用程序上使用新的底部导航模式。带有BottomBar的Android应用程序无限循环

我在Github上找到了来自roughike的库BottomBar。 我的应用程序应该有四个选项卡,每个选项卡应该通过单个活动来表示。因此我实现了一个`BaseActivity'来处理点击。

图书馆有两个回调

  1. onMenuTabSelected
  2. onMenuTabReSelected

代码:

@Override 
    public void onMenuTabSelected(@IdRes int menuItemId) { 
     Intent intent = null; 
     switch (menuItemId) { 
      case R.id.menu_overview: 
       intent = new Intent(this, OverviewActivity.class); 
       break; 
      case R.id.menu_transactions: 
       intent = new Intent(this, TagsActivity.class); 
       break; 
      case R.id.menu_tags: 
       intent = new Intent(this, TagsActivity.class); 
       break; 
     } 

     if (intent != null) { 
      startActivity(intent); 
     } 
    } 

每次应用程序启动onTabSelected方法被调用并执行第一种情况。这将产生一个无限循环。我的第一个标签被称为每次...

有谁知道我可以如何处理这个问题?

+0

您可以使用布尔值来确定哪个活动正在运行,并且如果它是当前活动,是否运行onTabSelected方法,或者为了基本相同的目的而将意图传递给结果? – SQLiteNoob

回答

1

如果在设置底栏的项目(mBottomBar.setItems(R.menu.bottombar))后设置了OnMenuTabClickListener,则会发生此循环。

只是改变顺序,不会发生循环。