网络获取图片、ViewPager轮播

package liyuanqi.bwie.com.liyuanqi20181015;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.Toast;

import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;

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

import liyuanqi.bwie.com.liyuanqi20181015.adapter.Myadpaters;

import liyuanqi.bwie.com.liyuanqi20181015.adapter.Mypageradapter;
import liyuanqi.bwie.com.liyuanqi20181015.bean.JsonBean;
import liyuanqi.bwie.com.liyuanqi20181015.bean.JsonBean2;
import me.maxwin.view.XListView;

public class MainActivity extends AppCompatActivity {
XListView xlsv;
ViewPager pager;
int page=1;
String tpwz=“https://www.zhaoapi.cn/quarter/getAd”;
JsonBean jsonBean;
Myadpaters myadpaters;
Mypageradapter mypageradapter;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int item = pager.getCurrentItem();
if (item==mypageradapter.getList().size()-1){
item=0;
}else {
item++;
}
pager.setCurrentItem(item);
handler.sendEmptyMessageDelayed(0,2000);
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //获取id
     xlsv = findViewById(R.id.xlsv);
     pager = findViewById(R.id.pager);
    myadpaters=new Myadpaters(this);
     mypageradapter = new Mypageradapter(this);
    xlsv.setAdapter(myadpaters);
    pager.setAdapter(mypageradapter);
    handler.sendEmptyMessageDelayed(0,2000);
     xlsv.setPullLoadEnable(true);
     xlsv.setPullRefreshEnable(true);

     //监听
    xlsv.setXListViewListener(new XListView.IXListViewListener() {
         @Override
         public void onRefresh() {
             page=1;
             httpdata(page);
         }


         @Override
         public void onLoadMore() {
             httpdata(page);
         }
     });
    httpdata(page);
    httpdata2();
    //单击跳转
    xlsv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Intent intent=new Intent(MainActivity.this,TowActivity.class);
            intent.putExtra("title",myadpaters.getItem(position - 1).getName());
            intent.putExtra("di",myadpaters.getItem(position - 1).getImageUrl());

            startActivity(intent);

        }
    });
}
//获取数据
public void httpdata(int page) {
    String wz="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?count=10&page=";
    String wzs=wz+page;
    new AsyncTask<String, Void, List<JsonBean.ResultBean>>() {

        @Override
        protected List<JsonBean.ResultBean> doInBackground(String... strings) {
            //list = HttpUtile.httpStuet(strings[0]);
            return HttpUtile.httpStuet(strings[0]);
        }

        @Override
        protected void onPostExecute(List<JsonBean.ResultBean> resultBeans) {
            super.onPostExecute(resultBeans);
            if (resultBeans==null){
                Toast.makeText(MainActivity.this,"数据请求失败",Toast.LENGTH_SHORT).show();
                return;
            }
            adapterdate(resultBeans);
            pagezhengjia();
        }

    }.execute(wzs);
}
public void httpdata2() {

    new AsyncTask<String, Void, List<JsonBean2.DataBean>>() {


        @Override
        protected List<JsonBean2.DataBean> doInBackground(String... strings) {

            return HttpUtile2.httpStuet(strings[0]);
        }

        @Override
        protected void onPostExecute(List<JsonBean2.DataBean> dataBeans) {
            super.onPostExecute(dataBeans);
            if (dataBeans==null){
                Toast.makeText(MainActivity.this,"数据请求失败",Toast.LENGTH_SHORT).show();
                return;
            }
            mypageradapter.pagerdata(dataBeans);
        }
    }.execute(tpwz);


}

//更新下标
public void pagezhengjia() {
page++;
xlsv.stopRefresh();
xlsv.stopLoadMore();
}

private void adapterdate(List<JsonBean.ResultBean> resultBeans) {
    if (page==1){
        myadpaters.datas(resultBeans);
    }else {
        myadpaters.adddatas(resultBeans);
    }
}

}

package liyuanqi.bwie.com.liyuanqi20181015.adapter;

import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;
import java.util.List;

import liyuanqi.bwie.com.liyuanqi20181015.App;
import liyuanqi.bwie.com.liyuanqi20181015.HttpUtile2;
import liyuanqi.bwie.com.liyuanqi20181015.MainActivity;
import liyuanqi.bwie.com.liyuanqi20181015.bean.JsonBean2;

public class Mypageradapter extends PagerAdapter {

private Context context;
private List<JsonBean2.DataBean> list;

public Mypageradapter(Context context) {
    this.context = context;
    list=new ArrayList<>();
}
public void pagerdata(List<JsonBean2.DataBean> dataBeans) {
    this.list.addAll(dataBeans);
    notifyDataSetChanged();
}

public List<JsonBean2.DataBean> getList() {
    return list;
}

@Override
public int getCount() {
    return list.size();
}

@Override
public boolean isViewFromObject(View view, Object object) {
       return view==object;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView=new ImageView(context);
    ImageLoader.getInstance().displayImage(list.get(position).getIcon(),imageView, App.getdisplayImageOptions(context));
    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);
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值