/ / Android: ako volať metódy aktivity od poslucháča - java, Android, poslucháč, spodný panel

Android: ako zavolať metódy aktivity od poslucháča - java, android, poslucháč, bottombar

Používam BottomBar v mojej hlavnej činnosti a nasledujem príklad kódu z githubu, do ktorého pridáva poslucháčov na karty:

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;
}

}
});

Funguje to perfektne a vidím všetky toasty.

Môj problém: Vo svojej hlavnej činnosti mám dve metódy, ktoré by som chcel zavolať v závislosti od vybranej karty:

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);
}

Aby som to urobil, snažím sa to, čo nevrhá žiadne chyby, ale tiež nefunguje.

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

Moja otázka znie, ako môžem nazvať svoje metódy MainActivity z internetu OnTabSelectListener?

odpovede:

1 pre odpoveď č. 1

Len som prišiel na to, v čom bol problém: metódy musia byť verejné.