2017-06-02 34 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); 
} 

要做到这一点我想这一点,这不会引发任何错误,但也不起作用。

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

我的问题是我怎么能叫从OnTabSelectListener我MainActivity的方法呢?

回答

1

刚刚想通了什么是问题:的方法必须公开