Java 行动栏中的标签Sherlock

Java 行动栏中的标签Sherlock,java,android,eclipse,actionbarsherlock,Java,Android,Eclipse,Actionbarsherlock,我正在使用Android操作栏Sherlock开发一个应用程序。我目前有三个标签页,其中包括以下类别:家庭计算器和驱动器 我之前制作了一个计算器应用程序,我希望能够在计算器选项卡中使用该代码。如何使用动作栏Sherlock选项卡中的活动 以下是我的查看寻呼机代码: package com.d4a.stzh; import com.d4a.stzh.FragmentTab1; import com.d4a.stzh.FragmentTab2; import com.d4a.stzh.Fragme

我正在使用Android操作栏Sherlock开发一个应用程序。我目前有三个标签页,其中包括以下类别:家庭计算器和驱动器

我之前制作了一个计算器应用程序,我希望能够在计算器选项卡中使用该代码。如何使用动作栏Sherlock选项卡中的活动

以下是我的查看寻呼机代码:

package com.d4a.stzh;

import com.d4a.stzh.FragmentTab1;
import com.d4a.stzh.FragmentTab2;
import com.d4a.stzh.FragmentTab3;
import com.d4a.stzh.CMainActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;

public class ViewPagerAdapter extends FragmentPagerAdapter {


    // Declare the number of ViewPager pages
    final int PAGE_COUNT = 4;

    public ViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int arg0) {
        switch (arg0) {

            // Open FragmentTab1.java
        case 0:
            FragmentTab1 fragmenttab1 = new FragmentTab1();
            return fragmenttab1;

            // Open FragmentTab2.java
        case 1:
            FragmentTab2 fragmenttab2 = new FragmentTab2();
            return fragmenttab2;

            // Open FragmentTab3.java
        case 2:
            FragmentTab3 fragmenttab3 = new FragmentTab3();
            return fragmenttab3;
        }
        return null;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return PAGE_COUNT;
    }

}
这是我的主要活动代码:

package com.d4a.stzh;

import android.os.Bundle;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.Window;

import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.d4a.stzh.ViewPagerAdapter;
import com.d4a.stzh.R;

public class MainActivity extends SherlockFragmentActivity {

    // Declare Variables
    ActionBar mActionBar;
    ViewPager mPager;
    Tab tab;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // Get the view from activity_main.xml
        setContentView(R.layout.activity_main);

        // Activate Navigation Mode Tabs
        mActionBar = getSupportActionBar();
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        getSupportActionBar().setDisplayShowHomeEnabled(false);
        mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        // Locate ViewPager in activity_main.xml
        mPager = (ViewPager) findViewById(R.id.pager);

        // Activate Fragment Manager
        FragmentManager fm = getSupportFragmentManager();

        // Capture ViewPager page swipes
        ViewPager.SimpleOnPageChangeListener ViewPagerListener = new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                super.onPageSelected(position);
                // Find the ViewPager Position
                mActionBar.setSelectedNavigationItem(position);
            }
        };

        mPager.setOnPageChangeListener(ViewPagerListener);
        // Locate the adapter class called ViewPagerAdapter.java
        ViewPagerAdapter viewpageradapter = new ViewPagerAdapter(fm);
        // Set the View Pager Adapter into ViewPager
        mPager.setAdapter(viewpageradapter);

        // Capture tab button clicks
        ActionBar.TabListener tabListener = new ActionBar.TabListener() {

            @Override
            public void onTabSelected(Tab tab, FragmentTransaction ft) {
                // Pass the position on tab click to ViewPager
                mPager.setCurrentItem(tab.getPosition());
            }

            @Override
            public void onTabUnselected(Tab tab, FragmentTransaction ft) {
                // TODO Auto-generated method stub
            }

            @Override
            public void onTabReselected(Tab tab, FragmentTransaction ft) {
                // TODO Auto-generated method stub
            }
        };

        // Create first Tab
        tab = mActionBar.newTab().setText("Home").setTabListener(tabListener);
        mActionBar.addTab(tab);

        // Create second Tab
        tab = mActionBar.newTab().setText("Books").setTabListener(tabListener);
        mActionBar.addTab(tab);

        // Create third Tab
        tab = mActionBar.newTab().setText("Drive").setTabListener(tabListener);
        mActionBar.addTab(tab);
        // Create fourth Tab
                tab = mActionBar.newTab().setText("Calculator").setTabListener(tabListener);
                mActionBar.addTab(tab);
    }

}
有没有办法将活动插入到Sherlock fragment选项卡中?

以获取您的信息

片段必须始终嵌入到活动中,并且片段的生命周期直接受宿主活动生命周期的影响。例如,当活动暂停时,其中的所有片段都暂停,当活动被销毁时,所有片段也暂停

资料来源:

不能在片段中使用活动