如何在ActionBar中分配Activity?

时间:2012-05-18 05:59:29

标签: android android-actionbar

我有3个标签的ActionBar。每个标签都有一个片段。如何为每个选项卡分配一个活动(每个片段都有一个按钮,如何在该按钮上分配事件)?

public class TMABActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ActionBar actionBar = getActionBar();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    actionBar.setDisplayShowTitleEnabled(false);

    Tab tab = actionBar
            .newTab()
            .setText("MyBooks")
            .setTabListener(
                    new MyTabListener<NewsFragment>(this, "1",
                            NewsFragment.class, this));
    actionBar.addTab(tab);

    tab = actionBar
            .newTab()
            .setText("News")
            .setTabListener(
                    new MyTabListener<MyBooksFragment>(this, "2",
                            MyBooksFragment.class, this));
    actionBar.addTab(tab);

    tab = actionBar
            .newTab()
            .setText("Account")
            .setTabListener(
                    new MyTabListener<AccountFragment>(this, "3",
                            AccountFragment.class, this));
    actionBar.addTab(tab);

}

2 个答案:

答案 0 :(得分:1)

您无需将任何活动附加到您的片段。将为每个片段自动创建一个Activity实例。

例如,要在每个片段的按钮上添加侦听器,您可以覆盖方法

void onActivityCreated(Bundle savedInstanceState)

并使用

获取对Button的引用
Button button = (Button) getActivity().findViewById(R.id.example_button);

答案 1 :(得分:1)

片段不需要明确的活动分配。