私のプロジェクトでは、スワイプ可能なタブを使用してリスト間を移動します。これらのリストのいずれかを削除するときは、アニメーションをスムーズにしてviewpager.setCurrentItem(page, true);
、リストを削除する前にまず別のページに切り替えてこれをアーカイブしようとします。次に、ページを切り替えてリストを削除した後、イベントをキャッチしようとしOnPageChangeListener
ます。
onPageSelected(int position)
私の問題は、アニメーションが完了する前に が呼び出されたように見えることです。
ここにコードがあります:)
アニメーションを開始する場所:
case R.id.menu_clear_lists:
int pageAmount = sectionsPagerAdapter.getCount();
if (pageAmount < 2)
return false;
int page = viewPager.getCurrentItem();
int newPage = page == 0 ? page + 1 : page - 1;
deleteOnChange = true;
deletePage = page;
viewPager.setCurrentItem(newPage, true);
return true;
イベントハンドラ:
if (!deleteOnChange)
return;
deleteOnChange = false;
Resource.deleteList(deletePage);
sectionsPagerAdapter.destroyItem(viewPager,
viewPager.getCurrentItem(),
sectionsPagerAdapter.getItem(deletePage));
sectionsPagerAdapter.notifyDataSetChanged();
誰かが私の問題の解決策を持っていることを願っています:)