package com.example.fragment; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.example.activity.KeChengActivity; import com.example.activity.SearchActivity; import com.example.adapter.ShouYe_Xlv_Adapter; import com.example.adapter.Shouye_PageAdapter; import com.example.http.MyNetPath; import com.example.lingliapp.R; import com.example.view.XListView; import com.example.vo.Shouye; import com.google.gson.Gson; import com.lidroid.xutils.HttpUtils; import com.lidroid.xutils.exception.HttpException; import com.lidroid.xutils.http.ResponseInfo; import com.lidroid.xutils.http.callback.RequestCallBack; import com.lidroid.xutils.http.client.HttpRequest; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2016/6/11. */ public class Shouye_Fragment extends Fragment implements XListView.IXListViewListener { private View view; private ImageView iv_search; private ViewPager vp_shouye; private TextView tv_shouye_more; private ImageView iv_cz_1; private ImageView iv_cz_2; private ImageView iv_mj; private ImageView iv_well_works; private TextView tv_well_name; private TextView tv_well_time; private TextView tv_well_say; private LinearLayout ll_dots; private Shouye shouye; private List<ImageView> dots; private XListView xlv_shouye_wellwork; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 0) { int currentItem = vp_shouye.getCurrentItem(); currentItem++; vp_shouye.setCurrentItem(currentItem); handler.sendEmptyMessageDelayed(0, 2000); // handler.removeCallbacksAndMessages(null); } } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.shouye_fragment, null); //找控件 findView(); //为iv_search添加搜索监听 iv_search.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), SearchActivity.class); startActivity(intent); } }); //为tv_shouye_more添加搜索监听 tv_shouye_more.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), KeChengActivity.class); startActivity(intent); } }); //为iv_cz_1添加搜索监听 iv_cz_1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), KeChengActivity.class); startActivity(intent); } }); //为iv_cz_2添加搜索监听 iv_cz_2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), KeChengActivity.class); startActivity(intent); } }); //为iv_mj添加搜索监听 iv_mj.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(getActivity(), KeChengActivity.class); startActivity(intent); } }); //为vp_shouye准备数据 vp_init(); xlv_shouye_wellwork.setPullLoadEnable(true); xlv_shouye_wellwork.setXListViewListener(this); return view; } private void findView() { iv_search = (ImageView) view.findViewById(R.id.iv_search); vp_shouye = (ViewPager) view.findViewById(R.id.vp_shouye); tv_shouye_more = (TextView) view.findViewById(R.id.tv_shouye_more); iv_cz_1 = (ImageView) view.findViewById(R.id.iv_cz_1); iv_cz_2 = (ImageView) view.findViewById(R.id.iv_cz_2); iv_mj = (ImageView) view.findViewById(R.id.iv_mj); ll_dots = (LinearLayout) view.findViewById(R.id.ll_dots); xlv_shouye_wellwork = (XListView) view.findViewById(R.id.xlv_shouye_wellwork); } private void vp_init() { //为vp_shouye准备数据 HttpUtils httpUtils = new HttpUtils(); httpUtils.send(HttpRequest.HttpMethod.GET, MyNetPath.ShouYe_Path, new RequestCallBack<String>() { @Override public void onSuccess(ResponseInfo<String> arg0) { String result = arg0.result; Gson gson = new Gson(); shouye = gson.fromJson(result, Shouye.class); //准备小圆点 dots = new ArrayList<ImageView>(); dots.clear(); ll_dots.removeAllViews(); for (int i = 0; i < shouye.adtable.size(); i++) { ImageView imageView = new ImageView(getActivity()); if (i == 0) { imageView.setImageResource(R.drawable.focus); } else { imageView.setImageResource(R.drawable.normal); } LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(20, 20); params.setMargins(5, 0, 5, 0); dots.add(imageView); ll_dots.addView(imageView, params); } //vp_shouye设置适配器 vp_shouye.setAdapter(new Shouye_PageAdapter(getActivity(), shouye, handler)); handler.sendEmptyMessageDelayed(0, 2000); vp_shouye.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { for (int i = 0; i < shouye.adtable.size(); i++) { if (i == position % 5) { dots.get(i).setImageResource(R.drawable.focus); } else { dots.get(i).setImageResource(R.drawable.normal); } } } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); xlv_shouye_wellwork.setAdapter(new ShouYe_Xlv_Adapter(getActivity(), shouye)); } @Override public void onFailure(HttpException e, String s) { Toast.makeText(getActivity(), "网络请求失败。", Toast.LENGTH_SHORT).show(); } }); } private void onLoad() { xlv_shouye_wellwork.stopRefresh(); xlv_shouye_wellwork.stopLoadMore(); xlv_shouye_wellwork.setRefreshTime("刚刚"); } @Override public void onRefresh() { handler.postDelayed(new Runnable() { @Override public void run() { vp_init(); onLoad(); } },2000); } @Override public void onLoadMore() { handler.postDelayed(new Runnable() { @Override public void run() { vp_init(); onLoad(); } },2000); } }package com.example.adapter; import android.content.Context; import android.os.Handler; import android.support.v4.app.FragmentActivity; import android.support.v4.view.PagerAdapter; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.example.utils.ImageLoaderUtils; import com.example.vo.Shouye; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; /** * Created by Administrator on 2016/6/15. */ public class Shouye_PageAdapter extends PagerAdapter { private Context context; private Shouye shouye; private Handler handler; public Shouye_PageAdapter(Context context, Shouye shouye, Handler handler) { this.context = context; this.shouye = shouye; this.handler = handler; } @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); imageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: handler.removeCallbacksAndMessages(null); break; case MotionEvent.ACTION_CANCEL: handler.sendEmptyMessageDelayed(0,2000); break; case MotionEvent.ACTION_UP: handler.sendEmptyMessageDelayed(0,2000); break; } return true; } }); DisplayImageOptions options = ImageLoaderUtils.initOptions(); ImageLoader.getInstance().displayImage("http://169.254.156.130:8080/lingliServer" + shouye.adtable.get(position%4).at_img, imageView); imageView.setScaleType(ImageView.ScaleType.FIT_XY); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); container.removeView((View) object); } }
ViewPager无限轮播
最新推荐文章于 2020-10-17 10:57:36 发布