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

フラグメントには明示的なアクティビティの割り当ては必要ありません。

于 2013-02-21T18:42:17.190 に答える
1

フラグメントにアクティビティを添付する必要はありません。Activity のインスタンスは、フラグメントごとに自動的に作成されます。

たとえば、各フラグメントのボタンにリスナーを追加するには、メソッドをオーバーライドできます

void onActivityCreated(Bundle savedInstanceState)

ボタンへの参照を取得します

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