If you need to pass some data from TabHost to it’s child, you need to do the following:
1. Create public static child class variable and set it as current activity.
public class HomeActivity extends ExpandableListActivity { public static HomeActivity s_HomeActivity; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s_HomeActivity = this; } }
2. create public function with some action in Child class
public class HomeActivity extends ExpandableListActivity { public static HomeActivity s_HomeActivity; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s_HomeActivity = this; } public void doSomething() { //here we can do something } }
3. Execute the function from Tabhost activity as following:
if(HomeActivity.s_HomeActivity != null){ HomeActivity.s_HomeActivity.doSomething(); }
Or use callback pattern