How from class BasicActivity call method stackAFragment from subclass Sub?
I want to have an opportunity to replace Fragment in my Activity Sub from any Activity that extends BasicActivity by using menu. I am going to create a method in Sub for each item menu. Here is a simple example how I see it:
public class BasicActivity extends FragmentActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.m_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.stad:
TabHost tabHost = (TabHost) getParent().findViewById(android.R.id.tabhost);
tabHost.setCurrentTab(4); //here is me Sub.class
//How to call method stackAFragment here?
break;
default:
return false;
}
return true;
}
}
Subclass:
public class Sub extends BasicActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sub);
}
public void stackAFragment() {
Fragment f = new StadFr();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.the_frag, f);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();
}
}
Create an overridable method in
BasicActivity(with an empty implementation for instance) and override it inSub.