#android #android_viewpager #dialogfragment
Есть примеры кода реализации ViewPager внутри какого либо DialogFragment?
Находил некоторые примеры, но каждый раз возникали разные ошибки которые не позволяли
понять в чем все таки проблема, по сему прошу полный пример от и до содержащий по возможности xml
Ответы
Ответ 1
Tab_1.class public class Tab_1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.tab_1, container, false); } } Tab_2.class public class Tab_2 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.tab_2, container, false); } } Tab_3.class public class Tab_3 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.tab_3, container, false); } } tab_1.xmltab_2.xml tab_3.xml MainActivity.class Кнопка вызова кастомного диалога. public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void onClick(View v){ new FragmentsPopup().show(getSupportFragmentManager(), ""); } } activity_main.xml PageAdapter.class public class PageAdapter extends FragmentPagerAdapter { private List fragments; public PageAdapter(FragmentManager fm, List fragments){ super(fm); this.fragments = fragments; } @Override public Fragment getItem(int position) { return this.fragments.get(position); } @Override public int getCount() { return this.fragments.size(); } } FragmentsPopup.class Ну и сам класс диалога, ради чего всё это. public class FragmentsPopup extends DialogFragment { PageAdapter pageAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_activity, container); ViewPager viewPager = (ViewPager) view.findViewById(R.id.pager); pageAdapter = new PageAdapter(getChildFragmentManager(), getFragments()); viewPager.setAdapter(pageAdapter); getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE); //уберем a_bar return view; } private List getFragments(){ List list = new ArrayList(); list.add(new Tab_1()); list.add(new Tab_2()); list.add(new Tab_3()); return list; } } dialog_activity.xml
Комментариев нет:
Отправить комментарий