2012-02-23 6 views
0

私はFragmentActivityとFragmentPagerAdapterを使用しています.FragmentPagerAdapterは、水平スワイプでスライドできるいくつかのFragmentオブジェクトを保持しています。FragmentActivityのフラグメントオブジェクトのシーケンスが奇妙

FragmentActivityは、リスト内の現在のアイテムを表示するTextViewです(「3 of 25」など)。私が右にスワイプすると、その番号を1つ増やしたいと思います。左にスワイプすると数字が1つ下がる必要があります。

一方向にスワイプするだけでうまくいきますが、スワイプ方向を変えるとすぐにいくつかの番号がスキップされます。 #15から始めると16まで、次に17から18になります。左にスワイプすると18から15になります。

このようなカウンタを実装する適切な方法は何ですか?

答えて

0

(setOnPageChangeListenerを使用して)ViewPagerにonPageChagneListenerを追加し、onPageSelectedに渡された値を使用して現在の位置を設定します。あなたのアダプターでgetViewに渡された位置を使用していますが、この位置は実際に現在表示されているビューではなく、スクロールの準備として画面から構築されたビューを実際に指しています。

+0

下にいくつかのコードスニペットを投稿できますか? 私は(使用:ViewPager.OnPageChangeListenerを実装)FragmentActivityにこのコードの行を追加しましたが、トーストメッセージが見られるようになることはありません: プライベートボイドsetOnPageChangeListener(){ \t \t Toast.makeText(この、「setOnPageChangeListener "、1000).show(); \t} –