こんにちは、スワイプでviewpagerのフラグメントのビューを更新したい(setOffscreenPageLimit = 0に似たもので、最小オフセットが1であるため機能しません)が、方法がわかりません。インターフェイスを試してみましたが、設定しようとしているビューの一部で nullpointer 例外が発生します。
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
((OnRefreshListener) adapter.getItem(position)).onRefresh();
}
@Override
public void onPageScrollStateChanged(int arg0) {}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {}
});
実装されたインターフェース:
@Override
public void onRefresh() {
if(AddLesson.addNext) {
addDetails.setVisibility(View.GONE);
addLesson.setVisibility(View.GONE);
addWithData.setVisibility(View.VISIBLE);
addWithoutData.setVisibility(View.VISIBLE);
}
}
FragmentStatePagerAdapter:
class TabsAdapter extends FragmentStatePagerAdapter {
public TabsAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
AddLessonDetails addDetails = AddLessonDetails.newInstance(CONTENT[position]);
return addDetails;
}
@Override
public CharSequence getPageTitle(int position) {
return CONTENT[position % CONTENT.length];
}
@Override
public int getCount() {
return CONTENT.length;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
その問題を解決するにはどうすればよいですか?