FragmentStatePagerAdapter getitem проблема
Я сделал фотогалерею. Картинки хранятся в каталоге. Но если у меня есть 3 изображения в каталоге, отображаются только 2. getcount возвращает 3. У меня было 3 элемента в списке файлов. имена файлов верны. Но мне кажется, что getitem вызывается 2 раза с позицией 0 и 1.
в строке args.putInt(DemoObjectFragment.ARG_OBJECT, i+1); я пытаюсь использовать i, i+1, i-1. (с i-1 он разбился:)) но с остальными у меня только 2 картинки
public static class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter{
String path = Environment.getExternalStorageDirectory() + "PATH";
public DemoCollectionPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
Fragment fragment = new DemoObjectFragment();
Bundle args = new Bundle();
args.putInt(DemoObjectFragment.ARG_OBJECT, i+1);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
File f = new File(path);
final File filePict[] = f.listFiles();
int nb = filePict.length-1;
return nb;
}}
public static class DemoObjectFragment extends Fragment {
public static final String ARG_OBJECT = "object";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_collection_object, container, false);
Bundle args = getArguments();
String path = Environment.getExternalStorageDirectory() + "PATH";
File f = new File(path);
final File filePict[] = f.listFiles();
if(filePict.length>0) {
((ImageView) rootView.findViewById(R.id.pictgal)).setImageBitmap(BitmapFactory.decodeFile(filePict[args.getInt(ARG_OBJECT)].toString()));
rootView.findViewById(R.id.butpict).setTag(filePict[args.getInt(ARG_OBJECT)].toString());
}
return rootView;
}
}