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不兼容(据我所知)。
有人可以帮助我在我的应用中实现此行为。提前致谢。
答案 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