Я пытаюсь поместить 2 фрагмента внутри фрагмента. Я нашел некоторый код в Интернете, но, насколько я мог, мне не удалось разместить 2 фрагмента в 1 фрагменте. Я видел подсказки, касающиеся FragmentManager и особенно метода getChildFragmentManager(), но я не знаю, как это работает с 2 фрагментами.Фрагменты внутри фрагмента Приложения для Android
Для истории я использую действие с ActionBar, которое создает 3 фрагмента. В одном из них мне нужно обработать график и своеобразное меню, чтобы изменить масштаб графика. Таким образом, мне нужно 2 фрагмента в одном фрагменте.
Вот код:
фрагмент, который обрабатывает другие:
public class GraphDisplayFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View myFragmentView = inflater.inflate(R.layout.graph_fragment, container, false);
return myFragmentView;
}
}
Код, чтобы нарисовать график:
public class GraphFragment extends Fragment {
private static final int SERIES_NR = 1;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
GraphicalView myFragmentView = ChartFactory.getTimeChartView(this.getActivity(), getDateDemoDataset(), getDemoRenderer(),null);
return myFragmentView;
}
//some functions to set graph propreties
}
XML-файлы:
graph_fragment .xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<fragment
android:id="@+id/graph_fragment"
android:name="com.test.GraphFragment"
android:layout_width="match_parent"
android:layout_height="259dp" >
</fragment>
<fragment
android:name="com.test.GraphDetailFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/graph_detail_fragment">
</fragment>
</LinearLayout>
graph_detail.xml с тестовым реализации
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="211dp"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
Странная вещь, она работает в начале, когда я переключаюсь между фрагментами в ActionBar, но после 3-4 ходов, я получаю эту ошибку:
android.view.InflateException: Binary XML file line #7: Error inflating class fragment
Если у кого-то есть решение, было бы замечательно!
см http://stackoverflow.com/a/11020531/1219456 –
возможный дубликат [фрагментов в осколках] (http://stackoverflow.com/questions/6847460/fragments-within-fragments) – rds