Android: исключение повторяющихся классов фрагментов для Honeycomb и библиотеки совместимости

Возможно ли, чтобы один класс фрагмента Java использовался как для версий Android 2.x, так и для версий 3.x?

Сейчас я не вижу в этом возможности, что довольно прискорбно, потому что в таком случае мне приходится разрабатывать два 99% идентичных класса фрагментов - один для Honeycomb, а другой для устройств pre-Honeycomb с использованием Android Compatibility Library.

Я думаю, что было бы очень полезно иметь возможность повторно использовать один и тот же класс Java для обоих случаев. Более того, я думал, что повторное использование кода было основной целью использования ACL...

Заранее спасибо, ребята!


person myself    schedule 11.10.2011    source источник
comment
Одно небольшое дополнение к моему вопросу: теперь кажется, что единственный способ повторного использования кода - это создание пользовательских представлений, а не фрагментов...   -  person myself    schedule 11.10.2011
comment
я не понимаю вашу точку зрения... я использую один класс фрагментов и разные макеты   -  person Selvin    schedule 11.10.2011


Ответы (1)


Возможно ли, чтобы один класс фрагмента Java использовался как для версий Android 2.x, так и для версий 3.x?

Конечно. Просто наследуйте от android.support.v4.app.Fragment. После этого фрагмент будет работать на всех версиях Android, начиная с 1.6.

person CommonsWare    schedule 11.10.2011
comment
Я отмечаю это как ответ, потому что... ну, это отвечает на вопрос. Но теперь я вижу, что пропустил важную часть вопроса - я хотел избежать использования ACL на Honeycomb! Короче, я задумался о том, чтобы сделать класс-фрагмент, который был бы частью ACL на pre-3.x, и одновременно частью самого Honeycomb SDK на 3.x, что конечно же невозможно. Спасибо за то, что помогли мне ясно увидеть проблему :) - person myself; 12.10.2011