私はFragmentsAPIにかなり慣れていないので、ここに私の質問があります。タブ付きのとがあるActivity
としましょう。ActionBar
アプリケーションからメッセージングアプリケーションを開始したいとします。通常、新しいとして開始されActivity
ます。メッセージActivity
を新しいタブとして自分に追加することはできますActivity
か?どうすればこの効果を達成できますか?前もって感謝します。
1 に答える
1
onCreateメソッド内で、次の手順を実行します
Context context = getApplicationContext();
ActionBar actionbar = getActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab PlayerTab = actionbar.newTab().setText("Fragment A");
ActionBar.Tab StationsTab = actionbar.newTab().setText("Fragment B");
Fragment PlayerFragment = new AFragment();
Fragment StationsFragment = new BFragment();
PlayerTab.setTabListener(new MsgTabsListener(PlayerFragment, context));
StationsTab.setTabListener(new MsgTabsListener(StationsFragment, context));
actionbar.addTab(PlayerTab);
actionbar.addTab(StationsTab);
次に、クラスを追加MsgTabListener
して、次の手順を実行します
class MsgTabsListener implements ActionBar.TabListener {
public Fragment fragment;
public Context context;
public MsgTabsListener(Fragment fragment, Context context) {
this.fragment = fragment;
this.context = context;
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
//Start a new activity here with respect to your main context.
context.StartActivity(new Intent(....));
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
ft.replace(R.id.fragment_container, fragment);
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
ft.remove(fragment);
}
優れたFragementsAPIチュートリアルをお探しの場合は、LarsVogelが非常に優れた説明を提供しています。
http://www.vogella.com/articles/Android/article.html#fragments_tutorial
于 2012-07-07T21:25:24.393 に答える