0

ここに画像の説明を入力

さて、私はviewpagerを使用しています。私はこれでビューを作成しています:

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);
                }
            });

どのビューが表示されているか知りたいです。通常ViewPager.getCurrentItem()は aを呼び出すことができますFragmentActivity、Fragment ではどのビューが currentitem であるかを知るにはどうすればよいですか。

4

2 に答える 2

1

私の場合、フラグメントアクティビティにビューページャーがあり、ビューページャーに子フラグメントを追加し、次のように子フラグメントでビューページャーの位置を取得します。

アダプターの getItem:

   @Override
        public Fragment getItem(int position) {
            Log.d("Click>>",">>"+position+" >>> "+position);
           return OfferSingleFragment.newInstance(position);
        }  

そして、OfferSingleFragment では:

public static OfferSingleFragment newInstance(String string) {
    OfferSingleFragment f =  new OfferSingleFragment();
       Bundle args = new Bundle();
        args.putString("pos",string);
        f.setArguments(args);
    return f;
}

そして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;
}

それがすべてです。それが役立つことを願っています..

于 2014-02-26T12:14:38.580 に答える
0

public static viewPager を作成して、以下のフラグメントにコードを記述してください。

ViewPager pager = mViewPager.getViewPager();
pager.getCurrentItem();

あなたの今のアイテムが見つかるかもしれません。

于 2014-02-26T09:28:46.200 に答える