无法在导航抽屉Android的片段中添加选项卡

时间:2013-11-08 10:37:13

标签: android android-fragments android-tabs navigation-drawer

1)我已在此处关注Android Developer Docs中的导航抽屉示例 developer.android.com/training/implementing-navigation/nav-drawer.html
并创建了我的整个应用程序在给定的示例中,他们对Drawer中选择的每个项目使用了Fragments,称为片段,代码为

Bundle args = new Bundle();
args.putInt("Title_Number", position);
fragment.setArguments(args);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();

2)现在我想在片段中 Tab行为,即,当我在导航抽屉中选择特定项目时,加载的片段应显示标签栏在这样的顶部。 http://flic.kr/p/hn4G3i

3)我已按照此处给出的教程和示例进行了操作 developer.android.com/training/implementing-navigation/lateral.html,但这里给出的示例是使用 FragmentActivity ,它与Fragments不兼容(据我所知)。

有人可以帮助我在我的应用中实现此行为。提前致谢。

1 个答案:

答案 0 :(得分:1)

import android.app.ActionBar;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import cgg.gov.in.apps.eoffice.source.R;

public class TestTabsinsideFragment extends Fragment
{
    View rootView;

public TestTabsinsideFragment () 
{
    // Empty constructor required for fragment subclasses
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle     savedInstanceState)
{   

getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// Apply the layout for the fragment
rootView = inflater.inflate(R.layout.approve_leaves, container, false);


getActivity().setTitle("New tabbed layout inside Fragment :-) ");


ActionBar.TabListener tabListener = new ActionBar.TabListener() {
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
        // show the given tab
    }

    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
        // hide the given tab
    }

    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
        // probably ignore this event
    }
};

// Add 3 tabs, specifying the tab's text and TabListener
for (int i1 = 0; i1 < 3; i1++) {
    getActivity().getActionBar().addTab(
            getActivity().getActionBar().newTab()
            .setText("Tab " + (i1 + 1))
            .setTabListener(tabListener));
}


return rootView;
}

我自己解决了这个问题。 :d