- packagecom.main.mouthtest;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.support.v4.view.PagerAdapter;
- 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.Toast;
- 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 com.main.bean.Weather_bean;
- import com.nostra13.universalimageloader.core.DisplayImageOptions;
- import com.nostra13.universalimageloader.core.ImageLoader;
- import java.lang.ref.WeakReference;
- import java.util.ArrayList;
- import java.util.List;
- /**
- *时间:2017/4/28
- * 类用途:Fragment1的类查询天气
- */
- public class Fragment1extends Fragment {
- private staticViewPager view_pager;
- private static List<View>dots;
- private static int lodposition= 0;
- private static int index= 0;
- private ArrayList<String>arr;
- private LinearLayoutlin_dot;
- private boolean istrue= true;
- private MyHandlermyHandler;
- protected voidonCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.f1);
- istrue =true;
- initview();
- pricture();
- //实例化
- MyViewPagerAdapter adapter =new MyViewPagerAdapter();
- view_pager.setAdapter(adapter);
- setdot();
- myHandler =new MyHandler((MainActivity) getActivity());
- new Thread(){
- @Override
- public voidrun() {
- while(istrue){
- try{
- sleep(1000);
- myHandler.sendEmptyMessage(0);
- }catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }.start();
- }
- //view_pager和设置小圆点的地方
- public voidsetdot() {
- //监听
- view_pager.addOnPageChangeListener(newViewPager.OnPageChangeListener() {
- @Override
- public voidonPageScrolled(intposition, floatpositionOffset, intpositionOffsetPixels) {
- }
- @Override
- public voidonPageSelected(intposition) {
- dots.get(position %dots.size()).setBackgroundResource(R.mipmap.dot_true);
- dots.get(lodposition).setBackgroundResource(R.mipmap.doy_false);
- lodposition= (position % dots.size());
- index= position;
- }
- @Override
- public voidonPageScrollStateChanged(intstate) {
- }
- });
- }
- //加载图片
- private voidpricture() {
- arr= newArrayList<>();
- arr.add("https://timgsa.baidu.com/timg?"+
- "image&quality=80&size=b9999_10000&sec=1493378180369&di=ea0f7952dd3fc7e202b26e7d70e3cbd9&"+
- "imgtype=0&src=http%3A%2F%2Fimg15.3lian.com%2F2015%2Fh1%2F35%2Fd%2F192.jpg");
- arr.add("https://timgsa.baidu.com/timg?"+
- "image&quality=80&size=b9999_10000&sec=1493378222373&di=acc62bc138e69acacbf6c8a9a2439f3d&"+
- "imgtype=0&src=http%3A%2F%2Fimg3.duitang.com%2Fuploads%2Fitem%2F201608%2F08%2F20160808124358_sH4Ea.thumb.700_0.jpeg");
- arr.add("https://timgsa.baidu.com/timg?"+
- "image&quality=80&size=b9999_10000&sec=1493378274676&di=f3349d7217e0f3b7269f16abc0d35b7e&"+
- "imgtype=0&src=http%3A%2F%2Fimg3.duitang.com%2Fuploads%2Fitem%2F201608%2F03%2F20160803105655_QMznk.thumb.700_0.jpeg");
- /**
- * for循环 小圆点的
- */
- dots= newArrayList<View>();
- for (inti = 0;i < arr.size();i++) {
- View view = newView(getActivity());
- LinearLayout.LayoutParams layoutParams =new LinearLayout.LayoutParams(30,30);
- view.setLayoutParams(layoutParams);
- dots.add(view);
- if (i ==0) {
- dots.get(i).setBackgroundResource(R.mipmap.dot_true);
- }else {
- dots.get(i).setBackgroundResource(R.mipmap.doy_false);
- }
- lin_dot.addView(dots.get(i));
- }
- }
- //各个控件的id和button_act的监听
- private voidinitview() {
- lin_dot= (LinearLayout) getActivity().findViewById(R.id.lin_dot);
- //找到view_pager的控件
- view_pager= (ViewPager) getActivity().findViewById(R.id.view_pager);
- button_act.setOnClickListener(newView.OnClickListener() {
- @Override
- public voidonClick(View v) {
- getweather(edit_act.getText().toString());
- }
- });
- }
- /**
- * viewpager的适配器
- */
- private classMyViewPagerAdapter extendsPagerAdapter {
- @Override
- public intgetCount() {
- returnInteger.MAX_VALUE;
- }
- @Override
- public booleanisViewFromObject(View view,Object object) {
- returnview == object;
- }
- @Override
- public voiddestroyItem(ViewGroup container, intposition,Object object) {
- }
- @Override
- publicObject instantiateItem(ViewGroup container, final intposition) {
- ImageView imageView = new ImageView(getActivity());
- DisplayImageOptions builder =new DisplayImageOptions.Builder()
- .showImageOnLoading(R.mipmap.ic_launcher)
- .showImageOnFail(R.mipmap.ic_launcher)
- .cacheOnDisk(true)
- .cacheInMemory(false)
- .build();
- //youcuo
- ImageLoader.getInstance().displayImage(arr.get(position % arr.size()),imageView,builder);
- imageView.setOnClickListener(newView.OnClickListener() {
- @Override
- public voidonClick(View v) {
- Toast.makeText(getActivity(),"点击了"+ position,Toast.LENGTH_SHORT).show();
- }
- });
- container.addView(imageView);
- return imageView;
- }
- }
- //失去焦点
- @Override
- public voidonPause() {
- super.onPause();
- istrue= false;
- }
- private static classMyHandler extendsHandler{
- private finalWeakReference<MainActivity> reference;
- public MyHandler(MainActivity mainActivity) {
- reference= newWeakReference<>(mainActivity);
- }
- @Override
- public voidhandleMessage(Message msg) {
- super.handleMessage(msg);
- if (reference.get() !=null) {
- switch(msg.what){
- case0:
- {
- view_pager.setCurrentItem(index,false);
- index++;
- }
- break;
- }
- }
- }
- }
- }