Решил проблему путем подкласса ArrayAdapter. Мне пришлось написать свой собственный конструктор для создания фрагментов, используя FragmentManager.
public FragmentManager(... T[] fragments){
FragmentTransaction ft = activity.getSupportFragmentManager()
.beginTransaction();
for (int i = 0; i < fragments.length; i++){
Fragment fragment = fragments[i];
//Do what ever you need to do to your fragment instance
ft.add(fragment, fragment.getSomeUniqueString());
mObjects.add(fragment);
}
ft.commit();
}
и getView as:
@Override
public View getView(int position, View convertView, ViewGroup parent){
Fragment fragment = mObjects.get(position);
... // checking left off to save space
view = fragment.getRootView();
... // checking left off to save space
return view;
}
А затем сортировка должна знать о структуре класса фрагмента .
Я думаю, что это также можно сделать, только сохранив список SomeUniqueString и используя его для поиска ViewViewByTag в FragmentManager. Это будет следующая проблема.