2

私のプロジェクトでは、スワイプ可能なタブを使用してリスト間を移動します。これらのリストのいずれかを削除するときは、アニメーションをスムーズにして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();

誰かが私の問題の解決策を持っていることを願っています:)

4

1 に答える 1