Android 使用按钮进行“浏览页面”滑动

Android 使用按钮进行“浏览页面”滑动,android,android-layout,button,android-viewpager,Android,Android Layout,Button,Android Viewpager,我有一个viewPager,它显示了一些使用AsyncTask从JSON获取的图像和文本。我的viewPager正常工作。但是现在我需要一个按钮来滑动页面。所以当我点击这个按钮时,它应该移动到下一页,就像我们滑动页面,它移动到下一页一样。所以基本上我需要移动到下一页而不滑动,而是通过点击一个按钮。我怎样才能做到这一点 注意:我已经可以滑动页面并进入下一页 下面是我的片段类,它具有viewPager public class HomeViewFragment extends Fragment {

我有一个viewPager,它显示了一些使用AsyncTask从JSON获取的图像和文本。我的viewPager正常工作。但是现在我需要一个按钮来滑动页面。所以当我点击这个按钮时,它应该移动到下一页,就像我们滑动页面,它移动到下一页一样。所以基本上我需要移动到下一页而不滑动,而是通过点击一个按钮。我怎样才能做到这一点

注意:我已经可以滑动页面并进入下一页

下面是我的片段类,它具有viewPager

public class HomeViewFragment extends Fragment {

    private Activity activity;
    private int i = 0;
    private ImageLoader imageLoader;
    private Home home;
    private Home now_showing;
    private CommonVariable commonVariable;
    private HorizontalListView horizontalListView;
    private LazyAdapter adapter;
    private ViewPager pager;
    private ViewPageAdapter adapter1;
    private ProgressDialog dialog;


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.home_view_fragment, container,
                false);

        horizontalListView = (HorizontalListView) view.findViewById(R.id.horizontal_listview);

        pager = (ViewPager) view.findViewById(R.id.home_nowshowing); 

        dialog = new ProgressDialog(HomeViewFragment.this.getActivity());
        dialog.setMessage("Loading Home Page. Please Wait.");
        dialog.setCancelable(true);



        activity = this.getActivity();

        commonVariable = (CommonVariable) activity.getApplication();

        imageLoader = new ImageLoader(activity);


        new BackGround().execute();
        return view;
    }

        public class BackGround extends AsyncTask<Void, Void, Void> {

            @Override
            protected Void doInBackground(Void... params) {

                home = JSONServices.getHomeListContent();
                now_showing = JSONServices.getHomeListContent();  

                return null;
            } 

            @Override
            /* check again */
            protected void onPostExecute(Void result) {

                commonVariable.setHomeListContent(home);
                commonVariable.setHomeListContent(now_showing);

                adapter = new LazyAdapter(home.getHome(), activity,Element.HORIZONTAL_MENU.getType());
                adapter1 = new ViewPageAdapter(home.getNowShowing(),Element.NOW_SHOWING.getType(), activity);


                horizontalListView.setAdapter(adapter);
                pager.setAdapter(adapter1); 

                dialog.dismiss();

                super.onPostExecute(result);

            }
            @Override
            protected void onPreExecute() {
                // TODO Auto-generated method stub

                dialog.show();
                super.onPreExecute();

                }
    }
}
公共类HomeViewFragment扩展了片段{
私人活动;
私有整数i=0;
私有图像加载器;
私人住宅;
私人住宅现正展出;
私有公共变量公共变量;
私有HorizontalListView HorizontalListView;
专用懒散适配器;
私人寻呼机;
专用ViewPageAdapter适配器1;
私人对话;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(R.layout.home\u视图\u碎片、容器、,
假);
horizontalListView=(horizontalListView)view.findViewById(R.id.horizontal\u listview);
pager=(ViewPager)view.findViewById(R.id.home\u nowshowing);
dialog=newprogressdialog(HomeViewFragment.this.getActivity());
setMessage(“正在加载主页,请稍候”);
对话框。可设置可取消(true);
activity=this.getActivity();
commonVariable=(commonVariable)activity.getApplication();
imageLoader=新的imageLoader(活动);
新建背景().execute();
返回视图;
}
公共类后台任务{
@凌驾
受保护的Void doInBackground(Void…参数){
home=JSONServices.getHomeListContent();
现在显示=JSONServices.getHomeListContent();
返回null;
} 
@凌驾
/*再次检查*/
受保护的void onPostExecute(void结果){
commonVariable.setHomeListContent(主页);
commonVariable.setHomeListContent(现在显示);
adapter=newlazyadapter(home.getHome(),activity,Element.HORIZONTAL_MENU.getType());
adapter1=新的ViewPageAdapter(home.getNowShowing(),Element.NOW\u SHOWING.getType(),activity);
设置适配器(适配器);
寻呼机设置适配器(适配器1);
dialog.dismise();
super.onPostExecute(结果);
}
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
dialog.show();
super.onPreExecute();
}
}
}
我声明viewpager的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="5dp"
        android:layout_weight="6"
        android:background="@drawable/frame_background"
        android:orientation="horizontal"
        android:padding="5dp" >

        <android.support.v4.view.ViewPager
            android:id="@+id/home_nowshowing"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:inAnimation="@anim/fade_in_slider"
            android:outAnimation="@anim/fade_out_slider" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_margin="5dp"
        android:layout_weight="5"
        android:background="@drawable/frame_background"
        android:orientation="horizontal" >

        <com.fortuna.cinemalk.customwidgets.HorizontalListView
            android:id="@+id/horizontal_listview"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>

</LinearLayout>

使用viewpager布局的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:background="@color/grey"
    android:padding="2dp">

    <RelativeLayout
        android:layout_width="380dp"
        android:layout_height="wrap_content"
        android:background="@color/grey" >

        <ImageView
            android:id="@+id/image2"
            android:layout_width="match_parent"
            android:layout_height="245dp"
            android:scaleType="fitXY"
            android:src="@drawable/app" />



        <Button
            android:id="@+id/nowplayingButton"
            android:layout_width="212dp"
            android:layout_height="58dp"
            android:layout_alignBottom="@+id/image2"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="18dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/nowshowing_button" />

         <TextView
            android:id="@+id/nowplay_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="250dp"
            android:textColor="#000000"
            android:textSize="18dp"
            android:textStyle="bold" />

    </RelativeLayout>

</LinearLayout>

您可以在单击按钮时使用以下方法之一

pager.setCurrentItem(pageNumber);

pager.setCurrentItem(pageNumber, isSmoothScroll;)