2017-06-02 2 views
1

からのアクティビティのメソッドを呼び出すために、私は私の主な活動でBottomBarを使用していると私は彼がタブにリスナーを追加しますgithubのからのコード例以下のよ:アンドロイド:どのようにリスナー

this.bottomBar = (BottomBar) findViewById(R.id.bottomBar); 
bottomBar.setOnTabSelectListener(new OnTabSelectListener() { 
    @Override 
    public void onTabSelected(@IdRes int tabId) { 

     switch (tabId) { 

      case R.id.tab_evaluate : 
       Toast.makeText(getApplicationContext(),"Evaluate",Toast.LENGTH_SHORT).show(); 
       break; 
      case R.id.tab_info: 
       Toast.makeText(getApplicationContext(),"INfo",Toast.LENGTH_SHORT).show(); 
       break; 
      default: 
       Toast.makeText(getApplicationContext(),"Other",Toast.LENGTH_SHORT).show(); 
       break; 
     } 

    } 
}); 

にですが完璧に動作し、私はすべての乾杯を参照してください。

私の問題:私の主な活動で、私は、私が選択したタブに応じて、呼び出したい二つの方法があります。そうするために

private void showQrCodeView(){ 
    this.contentFrame.setVisibility(View.GONE); 
    this.qrCodeReaderView.setVisibility(View.VISIBLE); 
} 

private void hideQrCodeView(){ 
    this.contentFrame.setVisibility(View.VISIBLE); 
    this.qrCodeReaderView.setVisibility(View.GONE); 
} 

を私はこれをしようと、すべてのエラーをスローしませんが、また、動作しません。私はOnTabSelectListenerから私のMainActivityメソッドを呼び出すことができますどのように

case R.id.tab_evaluate : 
    Toast.makeText(getApplicationContext(),"Evaluate",Toast.LENGTH_SHORT).show(); 
    MainActivity.this.showQrCodeView(); 
    break; 

私の質問はありますか?

答えて

1

問題が何であるかを把握しました。メソッドは公開である必要があります。

関連する問題