Android 如何使活动中的函数在所有选项卡片段中都可用?

Android 如何使活动中的函数在所有选项卡片段中都可用?,android,android-fragments,tabs,Android,Android Fragments,Tabs,我正在构建一个使用三个选项卡片段的应用程序,我想在一个地方创建一个可以从所有三个选项卡调用的函数。我假设我需要在包含选项卡的活动中创建新函数,但我不确定如何声明它或如何从选项卡片段中调用它 以下是我在主活动中创建选项卡的方式: public class MainActivity extends FragmentActivity implements TabListener { private ViewPager viewPager; private TabsPagerAdapt

我正在构建一个使用三个选项卡片段的应用程序,我想在一个地方创建一个可以从所有三个选项卡调用的函数。我假设我需要在包含选项卡的活动中创建新函数,但我不确定如何声明它或如何从选项卡片段中调用它

以下是我在主活动中创建选项卡的方式:

public class MainActivity extends FragmentActivity implements TabListener {

    private ViewPager viewPager;
    private TabsPagerAdapter mAdapter;
    private ActionBar actionBar;

    // Tab titles
    private String[] tabs = { "Search", "History", "Saved" };


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        //Initialise the Database connection
        DBAdapter.init(this);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Setup tab bar
        viewPager = (ViewPager) findViewById(R.id.pager);
        actionBar = getActionBar();
        mAdapter = new TabsPagerAdapter(getSupportFragmentManager());

        viewPager.setAdapter(mAdapter);
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);        

        //Add the tabs to the action bar
        for (String tab_name : tabs) {
            actionBar.addTab(actionBar.newTab().setText(tab_name).setTabListener(this));
        }

        //Tab Swipe change listener
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override
            public void onPageSelected(int position) {
                // on changing the page
                // make respected tab selected
                actionBar.setSelectedNavigationItem(position);
            }

            @Override
            public void onPageScrolled(int arg0, float arg1, int arg2) {
            }

            @Override
            public void onPageScrollStateChanged(int arg0) {
            }
        });
    }
}

创建需要在父活动中调用的函数,该函数必须是公共方法

您可以这样调用该函数:

((YourActivityClassName)getActivity()).yourPublicMethod();