ViewPager
で使用しているFragments
にアクセスする必要があります。
https://stackoverflow.com/a/39274141/1559852ViewPager's
アダプターを変更する方法について説明しました。ViewPager
で使用するフラグメントをアクセス可能にしました。
リンクでコードを実装すると、フラグメントとそのビューにアクセスできるようになります。
は、以下のようなあなたのかけらにパブリックメソッドを定義します。
public View getMyFragmentView(){
return this.mView();
}
は最後に次のコードのようなあなたのViewPager
にOnPageChangeLsitener
を追加します。
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
// Here's your instance
final YourFragment fragment =(YourFragment)yourPagerAdapter.getRegisteredFragment(position);
final View theViewYouWantToAccess = yourFragment.getMyView();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
編集:あなたのViewPagerアダプタでは、Fragment
SparseArray
へ
@Override
public Fragment getItem(int position) {
final YourFragment fragment = new YourFragment();
// Register your fragment to Sparse Array here
registeredFragments.put(position, fragment);
return fragment;
}
を登録することができ、あなたが質問を明確にするために使用しているコードを投稿することができますか? – zsmb13
ビューページ内に読み込むフラグメントの数はいくつですか? –
@JaydeepPatel 5 –