ACtivity,Handler,Timer倒计时

package com.example.myapplication;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;

import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshScrollView;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

    private PullToRefreshScrollView pv;
    private ListView listView;
    private LinearLayout linearLayout;
    private ViewPager viewPager;
    int operType = 1;
    int pageIndex = 1;
    String murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex;
    private List<String> imgUrl;
    private List<BeanDate.DataBeanX.DataBean> datas;
    private MyAdapter adapter;
    List<ImageView> lists = new ArrayList<>();
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            int cIndex = viewPager.getCurrentItem();
            cIndex++;
            viewPager.setCurrentItem(cIndex);

            setSelected(cIndex % lists.size());
            sendEmptyMessageDelayed(0, 1000);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        pv = findViewById(R.id.pv);
        listView = findViewById(R.id.lv);
        linearLayout = findViewById(R.id.lin);
        viewPager = findViewById(R.id.viewpager);
        imgUrl = new ArrayList<>();
        datas = new ArrayList<>();

        initpv();

        NetData();
    }

    private void NetData() {
        MyTask task = new MyTask();
        task.execute(murl);
    }

    class MyTask extends AsyncTask<String, Void, String> {
        @Override
        protected String doInBackground(String... strings) {
            try {
                URL url = new URL(strings[0]);
                HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                urlConnection.setReadTimeout(5000);
                urlConnection.setConnectTimeout(5000);
                urlConnection.setRequestMethod("GET");
                int responseCode = urlConnection.getResponseCode();
                if (responseCode == 200) {
                    InputStream inputStream = urlConnection.getInputStream();
                    String ss = stringTo(inputStream);
                    return ss;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            BeanDate beanDate = gson.fromJson(s, BeanDate.class);
            List<BeanDate.DataBeanX.DataBean> data = beanDate.getData().getData();
            showPics(data);
            if (operType == 1) {
                datas.clear();
            }
            datas.addAll(data);
            setAdapter();
            pv.onRefreshComplete();
        }
    }

    private void showPics(List<BeanDate.DataBeanX.DataBean> data) {
        imgUrl.clear();
        imgUrl.add("http://365jia.cn/uploads/" + data.get(0).getPics().get(0));
        imgUrl.add("http://365jia.cn/uploads/" + data.get(1).getPics().get(0));
        imgUrl.add("http://365jia.cn/uploads/" + data.get(2).getPics().get(0));

        MyVAdapter adapter = new MyVAdapter(imgUrl, MainActivity.this);
        viewPager.setAdapter(adapter);
        initPoint();
        handler.sendEmptyMessageDelayed(0,1000);
    }

    public void setSelected(int pageIndex) {
        for (int i = 0; i < lists.size(); i++) {
            if (i==pageIndex){
                lists.get(i).setImageResource(R.drawable.point_selected);
            }else{
                lists.get(i).setImageResource(R.drawable.point_unselected);
            }
        }
    }

    private void initPoint() {
        for (int i = 0; i < imgUrl.size(); i++) {
            ImageView imageView = new ImageView(this);
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
            params.setMargins(0, 0, 10, 0);
            if (i == 0) {
                imageView.setImageResource(R.drawable.point_selected);
            } else {
                imageView.setImageResource(R.drawable.point_unselected);
            }
            linearLayout.addView(imageView, params);
            lists.add(imageView);
        }
    }

    private void setAdapter() {
        if (adapter == null) {
            adapter = new MyAdapter(datas, MainActivity.this);
            listView.setAdapter(adapter);
        } else {
            adapter.notifyDataSetChanged();
        }
    }

    private String stringTo(InputStream stream) {
        StringBuilder builder = new StringBuilder();
        BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
        String str;
        try {
            while ((str = reader.readLine()) != null) {
                builder.append(str);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return builder.toString();
    }

    private void initpv() {
        pv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {

            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                operType = 1;
                pageIndex = 1;
                murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex;
                NetData();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                operType = 2;
                pageIndex++;
                murl = "http://365jia.cn/news/api3/365jia/news/headline?page=" + pageIndex;
                NetData();
            }
        });
    }
}
 
 


 
 

---------------------------------------------------------------------------------------------------------------------------------

package com.example.myapplicationa;

import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {

    private TextView textView;
    int time = 5;
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0) {
                time--;
                if (time > 0) {
                    textView.setText(time + "s");
                    handler.sendEmptyMessageDelayed(0, 1000);
                } else {
                    timer.cancel();
                    Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                    startActivity(intent);
                    finish();
                }
            }
        }
    };
    private Timer timer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.tv);

        timer = new Timer();
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                handler.sendEmptyMessageDelayed(0, 1000);
            }

        };
        timer.schedule(timerTask, 0, 1000);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                startActivity(intent);
                finish();
            }
        });
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41927301/article/details/80099222
今日推荐