1

私は5つのタブ(フラグメント)を持つfragmentactivityで作業しています..必要なのは、最初のtab1にEnterボタンがあり、クリックすると、奇妙な結果が得られずにtab1内の別のフラグメントに切り替わることです。 onClickListener で

FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
ft.detach(Frag_Home.this);
ft.commit();                    
Frag_Locations newFragment = new Frag_Locations();
FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();


transaction.replace(android.R.id.content, newFragment);
transaction.addToBackStack(null);

transaction.commit();
getActivity().getSupportFragmentManager().executePendingTransactions();

**上記のコードはコンテンツを変更しますが、新しく追加されたフラグメントはビュー全体をカバーし、新しく開かれたフラグメントはタブの上に浮かびます!!

フラグメントの代わりにタブ1にフラグメントアクティビティを追加するにはどうすればよいですか?? (ところで、私はhttp://thepseudocoder.wordpress.com/2011/10/04/android-tabs-the-fragment-way/チュートリアルに従いました)

編集

tab1 => fragmentOne (onButtonClick が置換) => fragmentTwo (クリック) =>fragmentThree

tab2 => fragmentForth

tab3 => fragmentFifth

これは私が欲しいものです

前もって感謝します

4

2 に答える 2

0

Fragmentsこれは、例でタブを使用する方法の非常に良い例ですActionBarSherlock'sフラグメントの例。見てください、これはあなたが達成したいことだと思います。:)

于 2013-02-16T16:11:17.107 に答える
0

これが私が終わる方法です..

タブにフラグメントを追加することについて知っているかもしれません

// HashMap for storing fragments so we could track them by their names
private HashMap mapTabInfo = new HashMap();

  // This one is the normal way to add fragment to tab (mine is customized so better look into some nice tutorial for better understading)
tabview = createTabView(mTabHost.getContext(), MY_TICKET, R.drawable.tab_icon_myticket_selector);
            MainTabActivity.addTab(this, this.mTabHost,
            this.mTabHost.newTabSpec(MY_TICKET).setIndicator(tabview),
            (tabInfo = new TabInfo(MY_TICKET, Frag_MyTicket.class, args)));

    this.mapTabInfo.put(tabInfo.tag, tabInfo);

    // Add these fragments here so we can track them by own interface's method 
    tabInfo = new TabInfo(LOCATIONS, Frag_Locations.class, args);
    this.mapTabInfo.put(LOCATIONS, tabInfo);

// These two fragments won't show up in tabs untill we make it display manually 
    tabInfo = new TabInfo(DAYS, Frag_Days.class, args);
    this.mapTabInfo.put(DAYS, tabInfo);

// Now when we want to show fragment LOCATION while showing My_TICKET fragment, we'll just call method
onTabChanged(String tag) // method called when tabs are tapped, call this method with string LOCATIONS and you are done there..

// I know this might not be easiest to understand, you'll understand the logic if you're familiar with fragments/tabs
于 2013-06-08T19:23:03.640 に答える