質問

ギャラリーウィジェットを使用してカレンダーを作成しようとしています。特定の月のビューの作成を処理するmonthviewクラスがあります。私のMonthGalleryクラスは、子ビューとしてmonthviewを使用し、monthviewadapterはmonthgalleryのmonthviewを作成します。私が抱えている問題は、ユーザーが前月または翌月にスクロールまたはフリングしているときに、アダプターを前月と翌月に更新しようとしていることです。ギャラリーonItemSelectedListenerで指定された位置を使用して、この位置に応じてアダプターの前面と背面に月を追加します。例: ジェネラコディセタグプレ

問題
ユーザーが別の月にスクロールしてから最初の月にスクロールしようとすると、ギャラリーは自動的に次の選択にスナップしません。アダプターでは、addView(int month、int year)が呼び出されると、notifyDataSetChanged()が呼び出され、ギャラリーが前月または翌月に更新されますが、これにより、ゆっくりスクロールしながら予期しない「スナップ」が発生するようです。スクロールがスムーズになるようにこれを構成する方法がわからない。

編集
現在Gallery.setCallbackDuringFling(false)を使用していますが、ギャラリーのスクロール中にonitemselectedコールバックを無効にし、スクロールが完了したらonitemselected()を呼び出す方法はありますか?

役に立ちましたか?

他のヒント

addView()が呼び出されたときに呼び出されるnotifyDatasetChanged()について保証されていますか

私はあなたがそれをチェックするかもしれないと思います..

アダプター内のビューに触れるとすぐにnotifyDatasetChanged()を呼び出していました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top