Viewpager 自动轮播(无限循环) ,手动滑动时停止轮播+底部小圆点(二)

本文介绍了如何使用ViewPager实现自动轮播并实现无限循环的效果,同时在用户手动滑动时能够自动停止轮播。此外,还详细讲解了如何添加底部的小圆点指示器,为用户提供更好的交互体验。
摘要由CSDN通过智能技术生成

项目结构如下:



Volley工具类:

VolleyTool类负责实例化mRequestQueue和mImageLoader。

package com.example.utils;

import android.content.Context;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

public class VolleyTool {
	private static VolleyTool mInstance = null;
	private RequestQueue mRequestQueue;
	private ImageLoader mImageLoader;
	
	private VolleyTool(Context context){
		mRequestQueue = Volley.newRequestQueue(context);
		mImageLoader = ImageLoaderUtils.getImageLoader(mRequestQueue);
	}
	
	public static VolleyTool getInstance(Context context){
		if (mInstance==null) {
			mInstance = new VolleyTool(context);
		}
		return mInstance;
	}

	public RequestQueue getmRequestQueue() {
		return mRequestQueue;
	}

	public ImageLoader getmImageLoader() {
		return mImageLoader;
	}

	public void release() {
		this.mImageLoader = null;
		this.mRequestQueue = null;
		mInstance = null;
	}

}
JsonUtils 是解析json数据的工具类

package com.example.utils;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONObject;

import android.content.Context;
import android.util.Log;

import com.android.volley.AuthFailureError;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.Response.Listener;
import com.android.volley.RetryPolicy;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.HttpHeaderParser;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.StringRequest;

public class JsonUtils {

	/**
	 * 解析json数据的工具类
	 * 
	 * @param context
	 * @param json_path
	 * @param callBack
	 * @param queue
	 */
	public static void parseJsonString(Context context, String json_path,
			final JsonStringCallBack callBack,
			final RequestTimeOutCallBack timeOutCallBack, RequestQueue queue) {
		StringRequest request = new StringRequest(json_path,
				new Listener<String>() {
					@Override
					public void onResponse(String response) {
						// TODO Auto-generated method stub
						callBack.jsonStringCallBack(response);
					}
				}, new Response.ErrorListener() {
					@Override
					public void onErrorResponse(VolleyError error) {
						timeOutCallBack.timeOutCallBack(error.getMessage());
					}
				}) {
			@Override
			protected Response<String> parseNetwork
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值