Текущий замененный фрагмент.Передача данных между фрагментами с помощью pagerAdapter
public class SlidingTabsFragment extends Fragment {
private SlidingTabLayout mSlidingTabLayout;
private ViewPager mViewPager;
public SlidingTabsFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_sample, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
Context context= getActivity();
mViewPager = (ViewPager) view.findViewById(R.id.viewpager);
FragmentManager fm = getFragmentManager();
mViewPager.setAdapter(new Harkayin_PagerAdapter(fm,context));
mSlidingTabLayout = (SlidingTabLayout) view.findViewById(R.id.sliding_tabs);
mSlidingTabLayout.setViewPager(mViewPager);
}
...
Вот PagerAdapter, который содержит три скользящие страницы с таким же фрагментом/Fragment_Hashvehamarner();/
public class Harkayin_PagerAdapter extends FragmentStatePagerAdapter {
private Context mContext;
public Harkayin_PagerAdapter(FragmentManager fm, Context context) {
super(fm);
mContext = context;
}
@Override
public int getCount() { return 3;}
@Override
public CharSequence getPageTitle(int position) {
String[] tabs= mContext.getResources().getStringArray(R.array.hashvehamar_tabs);
return tabs[position];
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
switch (position){
case 0:
fragment = new Fragment_Hashvehamarner();
break;
case 1:
fragment = new Fragment_Hashvehamarner();
break;
case 2:
fragment = new Fragment_Hashvehamarner();
break;
default:
break;
}
if (fragment != null){
return fragment;
}else {
// error in creating fragment
Log.e("Harkayin_PagerAdapter", "Error in creating fragment");
return null;
}
}
}
И, наконец, держатель страницы фрагмента
public class Fragment_Hashvehamarner extends Fragment {
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
HashMap<String, List<String[]>> listDataChild;
ArrayList<String[]> listHeaderData;
View rootView;
public Fragment_Hashvehamarner() {}
...
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_hashvayin_plan, container, false);
return rootView;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// get the listview
expListView = (ExpandableListView) rootView.findViewById(R.id.lvExp);
// preparing list data
prepareListData();
listAdapter = new ExpandableListAdapter(rootView.getContext(), listHeaderData,
listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
// Inflate the layout for this fragment
private void prepareListData() {
DataAdapter mDbHelper = new DataAdapter(rootView.getContext());
mDbHelper.createDatabase();
mDbHelper.open();
listHeaderData = new ArrayList<String[]>(mDbHelper.getHashvehamarHeader(1));
listDataChild = new HashMap<String, List<String[]>>(mDbHelper.getHashvehamarChildData(1));
mDbHelper.close();
}
Теперь вопрос: как для получения текущей позиции страницы из PageAdapter в текущий фрагмент владельца страницы/Fragment_Hashvehamarner() /.
'как получить текущую позицию страницы из PageAdapter в текущей держатель страницы fragment' вы можете объяснить далее – mmlooloo
Существует три скользящих страницы, каждый из которых показывает один и тот же фрагмент/Fragment_Hashvehamarner() /. Каждая страница, когда я скользя, имеет позицию int, я хочу получить эту позицию во фрагмент, когда создается фрагмент. – ArmDroid
Я хочу знать, какая страница загружается, первая позиция 0, вторая позиция 1 или третья позиция 3, для получения данных из базы данных. – ArmDroid