0

ABS (SampleTabsDefault) で提供されているサンプル コードを実行しています。以下に示すように OnPageChangeListener を追加しました。タブのコンテンツが変更されても、TabPageIndicator は常に最初のタブに固定されます。私は何か間違ったことをしていますか?

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.simple_tabs);

    mAdapter = new GoogleMusicAdapter(getSupportFragmentManager());

    mPager = (ViewPager)findViewById(R.id.pager);
    mPager.setAdapter(mAdapter);

    mIndicator = (TabPageIndicator)findViewById(R.id.indicator);
    mIndicator.setViewPager(mPager);

    ViewPager.OnPageChangeListener changeListener = new ViewPager.OnPageChangeListener() {

       @Override
       public void onPageScrolled(int i, float v, int i1) {}

       @Override
       public void onPageSelected(int i) {}

       @Override
       public void onPageScrollStateChanged(int i) {}
    };

    mPager.setOnPageChangeListener(changeListener);
    mIndicator.setOnPageChangeListener(changeListener);
}
4

1 に答える 1

0

問題は、変更リスナーを設定すると、タブの切り替えを担当するコードがオーバーライドされることでした。ABSクラスをサブクラス化することもできましたが、リスナーの設定に問題のないTitlePageIndicatorに切り替えることを選択しました。

于 2012-11-04T18:26:18.850 に答える