Проблема в android:layout_width="match_parent" у RelativeLayout'a.
Другие проблемы:
RelativeLayout тут не нужен, он слишком тяжёл. Тут вообще ничего не нужно, кардвью достаточно.
LinearLayout с одним элементом не нужен, это оксюморон.
android:orientation="horizontal" для ресайклера не нужен.
android:textSize нужно указывать в sp, конечно же.
Вообще, конечно, можно это сделать, но не нужно. Фрагмент должен полностью инкапсулировать поведение всего, что есть у него внутри. Активити не должна знать, что находится внутри фрагмента. Фрагмент ничего не должен знать про другие фрагменты.
Стандартное решение такое - делается интерфейс с нужными методами. Фрагмент реализует этот интерфейс. Активити дергает методы. Активити тоже может реализовывать подобные интерфейсы и фрагмент тогда может дергать эти методы.
Если найдешь это в книге - выбрось её. Это устаревший api.
По теме response.getEntity().getContent() отдаст тебе стрим ответа.
От доброты моей:
У тебя активити утекает через этот асинктаск(memory leak). Асинктаски вообще не для сети.
Возьми OkHttp, там всё проще и красивее получается. Если это Rest-like api, возьми ещё Retrofit. Не мучайся.
В примере - никакого смысла нет, этот дженерик можно просто убрать. Имеет смысл в ситуации, когда сигнатура метода должна быть обобщенной. Например public <T> String method(T t) {...}
Это бредятина. Если в каких-то уроках такое дают - беги оттуда. Выбрасывать исключение, что-то тут же его ловить, да ещё и в цикле - это надо быть редкостным идиотом. При выбросе исключения разворачивается стек, это дорого.
B общем случае - никак. Если у классов поля совпадают, их никак не различить, например. А так, написать своей адаптер и, например, перебором пробовать распарсить, до победного.