2016-06-11 6 views
1

Androidアプリケーションで新しい下部ナビゲーションパターンを使用したいと思います。BottomBarを使用したAndroidアプリケーションの無限ループ

GithubのroughikeのライブラリBottomBarが見つかりました。 アプリには4つのタブがあり、すべてのタブは1つのアクティビティを表す必要があります。したがって、私はクリックを処理する `BaseActivity 'を実装していました。

ライブラリは、2つのコールバック

  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

このループは、ボトムバーの項目を設定した後でOnMenuTabClickListenerを設定すると発生します(mBottomBar.setItems(R.menu.bottombar))。

順序を変更するだけでループは発生しません。

関連する問題