オレグの答えに基づいて、私のアプリには以下のコードが使用されています。
beginFakeDrag()
私の追加は、 insideの返された結果を確認することです_invalidatePageTransformer
。
sendInvalidatePageTransformer()
内側から電話します
onConfigurationChanged()
向きが変わったとき
LoaderCallback<Cursor>
私のフラグメントの-methodsの内部
private Handler handler = new Handler()
{
public void handleMessage(Message msg)
{
switch(msg.what)
{
case 0:
_invalidatePageTransformer();
break;
}
}
};
private void _invalidatePageTransformer()
{
//no need to invalidate if we have no adapter or no items
if (this.getAdapter() != null && this.getAdapter().getCount() > 0)
{
//import check here, only fakeDrag if "beginFakeDrag()" returns true
if (this.beginFakeDrag())
{
this.fakeDragBy(0f);
this.endFakeDrag();
}
}
}
public void sendInvalidatePageTransformer()
{
this.handler.sendEmptyMessage(0);
}
編集:注:このコードは、カスタムViewPagerサブクラス内にあります