質問: new Pager(getSupportFragmentManager(), tabLayout.getTabCount()); // ViewPagerにページを設定 viewPager.setAdapter(adapter); // ViewPagerをTabLayoutを設定 tabLayout.setupWithViewPager(viewPager); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { adapter.selectpage(position); } @Override public void onPageScrollStateChanged(int state) { } }); ``` ここで実際の末端のページの描画はクラスを4クラスFragmentで作って行っているのですがこの描画が ページ1−>ページ2ー>ページ1 の切り替えと ページ1−>ページ3ー>ページ1 の切り替えでページ1の表示が変わります(とくに描画コードないのに) 具体的に言うとページ1−>ページ2ー>ページ1のとき描画にゴミが残るのです。 これから再描画をおこなう仕組みがどうも違うらしいことはわかっったのでしらべると ページ1−>ページ3ー>ページ1の時だけ ページ1のFragmentのOnCreateViewが呼ばれるのはわかったのですが OnCreateViewを ページ1−>ページ2ー>ページ1 のときも呼ぶようにするにはどうしたらいいのでしょうか? それとも面倒なことは考えずに FragmentのViewを全部削除して入れなおせば良いのでしょうか?
回答: ちょっと汚いけど解決しました。 getSupportFragmentManager() .beginTransaction() .detach(fragment) .attach(fragment) .commit(); で再描画を手動で行いました。