0

我创建了我的 Sherlock 片段活动并实现了选项卡:

public class Home extends SherlockFragmentActivity
{
ActionBar actionBar;
TabHost myTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);
    actionBar=getSupportActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    ActionBar.Tab tab1= actionBar.newTab();
    ActionBar.Tab tab2= actionBar.newTab();
    //ActionBar.Tab tab3 = actionBar.newTab();
    tab1.setText("Contacts");
    tab2.setText("Inbox");
//  tab3.setText("Outbox");
    tab1.setTabListener(new MyTabListener());
    tab2.setTabListener(new MyTabListener());
    actionBar.addTab(tab1, true);
    actionBar.addTab(tab2);
    actionBar.addTab(tab3);
}

这是我的标签更改监听器:

private class MyTabListener implements TabListener
{

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {

        if(tab.getPosition()==0)
        {
            FragmentA frag = new FragmentA ();
            ft.replace(android.R.id.content, frag );
        }
        else
        {
            FragmentB frag = new FragmentB ();
            ft.replace(android.R.id.content,frag );
        }
    }

这是我的片段A:

public class FragmentA extends Fragment 
{
    TextView textView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) 
{
    return inflater.inflate(R.layout.activity_list, container, false);
}
@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onActivityCreated(savedInstanceState);

    }
}

在我的第一个选项卡下,有一个正在显示的列表。当我单击任何一个列表项时,我需要在同一活动下加载另一个片段。当按下返回时,旧片段需要在同一个选项卡下加载。

这在 actionbarsherlock 选项卡中是否可行?如果是这样,我该怎么做?

4

0 回答 0