Мне нужен совет по этому поводу. У меня есть фрагмент с ViewPager. Я использую его как галерею с несколькими изображениями. Изображения загружаются из Интернета и сохраняются в массиве растровых изображений.
Сначала использовал..
public class GalleryPageAdapter extends PagerAdapter {
public GalleryPageAdapter(){
}
public Object instantiateItem(View collection, int position) {
}
...
//all other methods
}
но instatiateItem и другие методы теперь устарели... Я провел некоторое исследование, следуя другим сообщениям Фрагмент расширения класса - ошибка говорит, что имя класса существует, является общедоступным и имеет пустой общедоступный конструктор и Невозможно создать экземпляр фрагмента, убедитесь, что имя класса существует, является общедоступным , и имеет пустой общедоступный конструктор
Теперь работает без ошибок
public class sEstablecimiento extends android.support.v4.app.FragmentActivity{
static BitmapDrawable iconos[];
//load bitmaps into iconos[] from web
static class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
static int position;
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
this.position=position;
return new ScreenSlidePageFragment();
}
@Override
public int getCount() {
return iconos.length;
}
}
public static class ScreenSlidePageFragment extends Fragment {
private BitmapDrawable image;
public ScreenSlidePageFragment() {
image=iconos[ScreenSlidePagerAdapter.position];
}
@Override
public View onCreateView(LayoutInflater inflater, final ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView =(ViewGroup)inflater.inflate(R.layout.fragment_screen_slide_page, container, false);
ImageView icono=(ImageView)rootView.findViewById(R.id.imagen);
icono.setImageDrawable(iconos[ScreenSlidePagerAdapter.position]);
return rootView;
}
}
И, как всегда, вот мои конкретные вопросы
- Поскольку класс и методы фрагмента являются статическими, ему необходимо, чтобы массив BitmapDrawable был статическим и содержал несколько изображений. Можно ли сделать массив BitmapDrawable «нулевым», когда действие уничтожается, чтобы освободить память? (фрагмент пополняется и используется другими активностями)
- Мой последний код не нуждается в статических классах или статическом массиве. Можно ли сохранить код, поскольку он считается устаревшим?
- Что подразумевает сохранение кода в устаревшей версии?
заранее, чем вы за ваше время и внимание.