Bnaner轮播图+XListview

//布局

<com.recker.flybanner.FlyBanner
android:id="@+id/banner"
android:layout_width=“match_parent”
android:layout_height=“200dp”></com.recker.flybanner.FlyBanner>

<me.maxwin.view.XListView
    android:id="@+id/xlv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></me.maxwin.view.XListView>

//mina
public class MainActivity extends AppCompatActivity {

private FlyBanner banner;
private String[] mImagesUrl = {
        "http://attach.bbs.miui.com/forum/201303/16/173716jzszx8vbbb0z9o4k.jpg",
        "http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg",
        "http://pic.58pic.com/58pic/13/16/42/18F58PIChTy_1024.jpg" };
private XListView xlv;
private List<Bean.DataBean> list = new ArrayList<>();
private MAdapter adapter;
private String url="http://www.xieast.com/api/news/news.php?count=10&page=1";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    xlv = findViewById(R.id.xlv);
    adapter = new MAdapter(this);
    xlv.setAdapter(adapter);
    banner = findViewById(R.id.banner);
    //定义一个方法
    initNetBanner();
    initData();
}

private void initData() {
    new AsyncTask<String, Void, List<Bean.DataBean>>() {
        @Override
        protected List<Bean.DataBean> doInBackground(String... strings) {
            Bean bean=null;
            try {
                URL url = new URL(strings[0]);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setRequestMethod("GET");
                httpURLConnection.setConnectTimeout(5000);
                httpURLConnection.setReadTimeout(5000);
                int responseCode = httpURLConnection.getResponseCode();
                if (responseCode == 200){
                    String result = steam2string(httpURLConnection.getInputStream());
                    bean = new Gson().fromJson(result, Bean.class);
                }

            } catch (Exception e) {
                e.printStackTrace();
            }
            return bean == null ? (List<Bean.DataBean>) bean : bean.getData();
        }

        @Override
        protected void onPostExecute(List<Bean.DataBean> dataBeans) {
            super.onPostExecute(dataBeans);
            if (dataBeans == null){
                Toast.makeText(MainActivity.this,"请求失败",Toast.LENGTH_LONG).show();
                return;
            }
            adapter.setData(dataBeans);
        }
    }.execute(url);
}
private void initNetBanner() {
    banner = findViewById(R.id.banner);
    List<String> imgesUrl = new ArrayList<>();

    for (int i = 0; i < mImagesUrl.length; i++) {
        imgesUrl.add(mImagesUrl[i]);
    }
    banner.setImagesUrl(imgesUrl);
}
private String steam2string(InputStream inputStream) {

    StringBuilder stringBuilder = new StringBuilder();
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

    try {
        for (String time = reader.readLine(); time != null ; time = reader.readLine()){
            stringBuilder.append(time);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }

    return stringBuilder.toString();
}

}
//MAdapter
public class MAdapter extends BaseAdapter {
private Context context;
private List<Bean.DataBean> list;

public MAdapter(MainActivity mainActivity) {
    this.context = mainActivity;
    list=new ArrayList<>();
}

public void setData(List<Bean.DataBean> dataBeans) {
    list.clear();
    if (dataBeans!=null){
        list.addAll(dataBeans);
    }
    notifyDataSetChanged();
}

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

@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Holder1 holder1;
    if (convertView == null){
        holder1 = new Holder1();
        convertView = View.inflate(context,R.layout.item_one,null);
        holder1.img = convertView.findViewById(R.id.img);
        holder1.category = convertView.findViewById(R.id.category);
        convertView.setTag(holder1);
    }else {
        holder1 = (Holder1) convertView.getTag();
    }
    holder1.category.setText(list.get(position).getCategory());
    Glide.with(context).load(list.get(position).getThumbnail_pic_s()).into(holder1.img);
    return convertView;
}
class Holder1{
    ImageView img;
    TextView category;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值