Android Viewpager how can learn ViewPager.getCurrentItem from fragment
문제
Well I'm using viewpager. I am creating views with this:
public class CrimePagerActivity extends FragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FragmentManager fm = getSupportFragmentManager();
mViewPager.setAdapter(new FragmentStatePagerAdapter(fm) {
@Override
public int getCount() {
return mSorus.size();
}
@Override
public Fragment getItem(int sorusirasi) {
return fragment.newInstance(sorusirasi);
}
});
I want to know which view is shown. Normally I can call ViewPager.getCurrentItem()
in a FragmentActivity
but in a Fragment how can I learn which view is currentitem.
해결책
In my case ,I have viewpager in fragmentactivity and add child fragment in view pager,and get the position of viewpager in child fragment like this:
In adapter's getItem:
@Override
public Fragment getItem(int position) {
Log.d("Click>>",">>"+position+" >>> "+position);
return OfferSingleFragment.newInstance(position);
}
And In OfferSingleFragment:
public static OfferSingleFragment newInstance(String string) {
OfferSingleFragment f = new OfferSingleFragment();
Bundle args = new Bundle();
args.putString("pos",string);
f.setArguments(args);
return f;
}
And In OnCreateView:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View v = inflater.inflate(R.layout.single_layout,container,false);
View txt = v.findViewById(R.id.txt_title_singlelayout);
String t = getArguments().getString("pos") ;
Log.d("OnCreateView",">>"+t);
((TextView)txt).setText("Position"+">>"+t);
return v;
}
That's all.Hope it will help..
다른 팁
please try to make public static viewPager and write code in your fragment below:
ViewPager pager = mViewPager.getViewPager();
pager.getCurrentItem();
may be you can find your current item.
제휴하지 않습니다 StackOverflow