Frage : So erhalten Sie die aktuelle Ansicht eines ViewPager FragmentStatePagerAdapter?
FragmentStatePagerAdapter
ist erforderlich, nicht PagerAdapter
.
instantiateItem(View container, int position)
. Dies ist für PagerAdapter. FragmentStatePagerAdapter
hat das instantiateItem einen ViewGroup Parameter nicht Anzeigen param: instantiateItem(**ViewGroup** container, int position)
Ich hoffe also, dass es nicht unmöglich ist, oder? Bitte helfen Sie!
Sie können den Trick setTag mit der Ansicht verwenden, die Sie in Ihrer Methode instanziateItem zurückgeben.
Hier verwende ich einen ViewPager mit PagerAdapter, aber ich denke, diese Idee könnte auch für Sie funktionieren.
Wenn Sie also Ihre Ansichten instanziieren (in PagerAdapter ist die Methode auch instanziateItem (ViewGroup container, int position) ), sollten Sie setTag
So:
view.setTag("view" + position);
return view;
Wenn Sie also die aktuelle Ansicht benötigen, sollten Sie Folgendes tun: View view = (View) pager.findViewWithTag("view" + pager.getCurrentItem());
, wobei Pager der ViewPager ist, den Sie parameterübergreifend übergeben können Ihre Aktivität zu Ihrem Adapter.
Tags und Links android android-viewpager fragmentstatepageradapter