Android: communication between TabHost and it’s child

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

1 comment

Leave a Reply

%d bloggers like this: