У меня проблема с кросс-API. Мой сценарий выглядит следующим образом:Проблема с конверсией с вложенными фрагментами: android.support.v4.app.Fragment VS android.app.Fragment
- Я разрабатываю приложение, которое использует поддержка-v4-AppCompat, используя android.support.v4.app.Fragment;
- Я использую getChildFragmentManager для извлечения вложенных Фрагменты. Это необходимо, потому что у меня есть 0View, чтобы прокрутить несколько фрагментов :, один из которых использует com.google.android.gms.maps.SupportMapFragment как вложенный фрагмент;
- У меня также есть необходимость использовать ShinobiCharts, поскольку наше решение разрабатывается вместе с ним. ChartFragment является подклассом android.app.Fragment.
Проблема возникает, когда я пытаюсь использовать вложенный фрагмент так:
<fragment
class="com.shinobicontrols.charts.ChartFragment"
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="match_parent" />
и получить ссылку на него из другого фрагмента, как это:
public class TCPSpeedFragment extends android.support.v4.app.Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fragMan = getChildFragmentManager();
// BELLOW LINE GIVES ERROR OF TYPE CONVERSION
android.app.Fragment frag = fragMan.findFragmentById(R.id.chart);
}
Как мы можем видеть, данная ошибка - Тип несоответствия: невозможно преобразовать из android.support.v4.app.Fragment в android.app.Fragment. Но, пытаясь их преобразовать, это становится настоящей болью, и я еще не нашел решения.
У кого-нибудь есть идея решить эту проблему совместимости/конверсии?
В их документации указано, что у них есть SupportChartFragment. – Luksprog
Я собираюсь проверить его прямо сейчас! :) – mthama