2016-06-11 53 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,則會發生此循環。

只是改變順序,不會發生循環。