내 앱 중 하나에서 ViewPager의 양쪽에 조각을 추가해야합니다. 무엇보다도 먼저 5 개의 피드를 상수로 가져오고 ViewPager는 인덱스 2에서 피드를 표시합니다. 즉, 현재 표시된 단편에 인덱스 2에있는 데이터가 포함됩니다. 전체적으로 내 ViewPager는 시작시 5 개의 피드 중심을 표시하고 i 처럼 2로 ViewPager 현재 항목을 설정하여 달성이FragmentStatePagerAdapter를 사용하여 ViewPager의 양쪽에 조각을 동적으로 추가하기
viewPager.setCurrentItem(2);
이제 사용자 양쪽으로 스 와이프, 그가 중심 위치에서 왼쪽으로 스 와이프 때, 나는 다음 피드 즉, 서버에서 가져오고에 피드를 추가 보일 것입니다 이
feedsList.add(0, modelClassObject); // feedsList will contain all feeds and has been used by adapter to show data in fragments.
adapter.notifyDataSetChanged();
내가 중심 위치에서 오른쪽으로 스 와이프하면, 내가 마지막으로 단순히 리에서 피드를 추가 할 것 같은 내 ViewPager의 제로 인덱스 난 단지 feedsList의 끝에있는 권리 즉에 피드를 추가하는 경우 KE이
feedsList.add(modelClassObject);
adapter.notifyDataSetChanged();
지금 문제는, 모든 것이 잘 작동하지만 난 제로 인덱스에 피드를 추가 할 때 문제가 온다. 내 어댑터가 제로 위치에 추가 된 새 피드를 표시하지 않고 대신 기존 피드 중 하나를 반복하고 오른쪽 피드는 왼쪽 피드가 아닌 나머지 피드를 반복합니다. 나는 모든 것을 시도해 봤지만 아무 일도 일어나지 않았습니다. 다음은 어댑터 코드입니다.
private class HorizontalPagerAdapter extends FragmentStatePagerAdapter {
public HorizontalPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int arg0) {
return FeedUserProfileFragment.newInstance(feedsList.get(arg0),
arg0);
}
@Override
public int getCount() {
return feedsList.size();
}
}
내가이
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
하지만 결과 .. :(심각한 필요에 따라서
가, 누군가가 그 이전에 행한 경우 사용하고 동일한 문제에 직면 한 해줘 내가 뭘 잘못하고 있는지 알겠다. 내 ViewPager의 제로 인덱스에서만 프래그먼트를 추가하면된다.
FeedUserProfileFragment.newInstance (feedsList.get (arg0), arg0); 코드를 게시하십시오. – mmlooloo
이 문제와 관련이 있다고 생각하지 않습니다. –
나는 또한 동일한 문제에 직면하고 있습니다. – Neeraj