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