我的目标是创建具有滑动手势以在产品之间切换的应用。首先,我用导航抽屉创建应用程序。此抽屉项目/菜单将加载不同的片段。
在这个名为优惠券的特定片段中,我想实现viewpager。这就是我在尝试时取得的成就:
创建优惠券片段,当我点击导航栏中的项目
在CouponFragment.java上我放了:
mCustomPagerAdapter = new CustomPagerAdapter(getFragmentManager(), getActivity());
mViewPager = (ViewPager) view.findViewById(R.id.pager);
mViewPager.setAdapter(mCustomPagerAdapter);
我把ViewPager
我创建了扩展FragmentPagerAdapter的CustomPagerAdapter:
公共类CustomPagerAdapter扩展了FragmentPagerAdapter {
protected Context mContext;
public CustomPagerAdapter(FragmentManager fm, Context context) {
super(fm);
mContext = context;
}
@Override
// This method returns the fragment associated with
// the specified position.
//
// It is called when the Adapter needs a fragment
// and it does not exists.
public Fragment getItem(int position) {
// Create fragment object
Fragment fragment = new DemoFragment();
// Attach some data to it that we'll
// use to populate our fragment layouts
Bundle args = new Bundle();
args.putInt("page_position", position + 1);
args.putString("coupon_name", "Promo Lorem Ipsum");
args.putString("coupon_desc", "description is here");
// Set the arguments on the fragment
// that will be fetched in DemoFragment@onCreateView
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return 3;
}
}
我创建了在适配器中加载的DemoFragment.java:
公共类DemoFragment扩展Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// Inflate the layout resource that'll be returned
View rootView = inflater.inflate(R.layout.fragment_demo, container, false);
// Get the arguments that was supplied when
// the fragment was instantiated in the
// CustomPagerAdapter
Bundle args = getArguments();
((TextView) rootView.findViewById(R.id.text)).setText("Page " + args.getInt("page_position"));
((TextView) rootView.findViewById(R.id.test1)).setText("" + args.getString("coupon_name"));
((TextView) rootView.findViewById(R.id.test2)).setText("" + args.getString("coupon_desc"));
return rootView;
}
}
我创建了fragment_demo.xml:
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Page 0"
android:id="@+id/text" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/test2"/>
我的问题:
答案 0 :(得分:1)
从数据库中获取所有20个产品并在CustomPagerAdapter(List list,...)中传递一个列表;并在getCount()中返回list.size