0

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

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);

}
4

2 回答 2

1

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

要添加监听器,例如在每个 Fragment 的按钮上,您可以覆盖该方法

void onActivityCreated(Bundle savedInstanceState)

并获得对 Button 的引用

Button button = (Button) getActivity().findViewById(R.id.example_button);
于 2012-07-04T09:15:41.883 回答
1

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

于 2013-02-21T18:42:17.190 回答