Bannner+XlistView+Pulltorefresh

布局

记得导banner包 implementation ‘com.youth.banner:banner:1.4.9’

activity-main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="MainActivity">

<com.youth.banner.Banner
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="300dp"/>
    <GridView
        android:id="@+id/gv"
        android:numColumns="2"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />
    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/pull"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />
</LinearLayout>

item1

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    >
<ImageView
    android:id="@+id/imageview"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:src="@mipmap/ic_launcher"
    />
    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        />
    <TextView
        android:id="@+id/text_view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        />
</LinearLayout>

MainActivity

package com.bawei.week3moni;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.ListView;

import com.bawei.week3moni.adapter.LGAdapter;
import com.bawei.week3moni.base.BaseAcyivity;
import com.bawei.week3moni.bean.CommodityListBean;
import com.bawei.week3moni.bean.JsonBean;
import com.bawei.week3moni.bean.JsonBean2;
import com.bawei.week3moni.bean.Two;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;

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

public class MainActivity extends BaseAcyivity {


    private Banner banner;
    private GridView gridView;
    private PullToRefreshListView listView;
    private String bannerUrl = "https://api.apiopen.top/musicRankings?tdsourcetag=s_pcqq_aiomsg";
    private String listviewUrl = "http://172.17.8.100/small/commodity/v1/commodityList";
    @Override
    public int bindLayout() {
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {
        banner = bindView(R.id.banner);
        gridView = bindView(R.id.gv);
        listView = bindView(R.id.pull);
        listView.setMode(PullToRefreshBase.Mode.BOTH);
        listView.setPullToRefreshOverScrollEnabled(true);
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                //请求网络
                //刷新控件
                listView.onRefreshComplete();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
                //请求网络
                //把集合2的数据给集合1
                //刷新适配器
                    listView.onRefreshComplete();
            }
        });
    }

    @Override
    protected void initData() {
        //轮播图
      HttpUtil.httpAsynTask(bannerUrl, new HttpUtil.CallbackString() {
          @Override
          public void getData(String s) {
              Gson gson=new Gson();
              JsonBean bean = gson.fromJson(s, JsonBean.class);
              List<Two> result = bean.getResult();
              banner.setImages(result);
              banner.setImageLoader(new ImageLoader() {
                  @Override
                  public void displayImage(Context context, Object path, ImageView imageView) {
                    Two two= (Two) path;
                      Glide.with(MainActivity.this).load(two.getPic_s192()).into(imageView);

                  }
              });
              banner.isAutoPlay(true);
              banner.setDelayTime(3000);
              banner.start();
          }
      });
      //列表
        HttpUtil.httpAsynTask(listviewUrl, new HttpUtil.CallbackString() {
            @Override
            public void getData(String s) {
                Gson gson=new Gson();
                JsonBean2 bean = gson.fromJson(s, JsonBean2.class);
                JsonBean2.ResultBean result = bean.getResult();
                JsonBean2.ResultBean.MlssBean mlss = result.getMlss();
                JsonBean2.ResultBean.PzshBean pzsh = result.getPzsh();
                JsonBean2.ResultBean.RxxpBean rxxp = result.getRxxp();

                ArrayList<CommodityListBean> list=new ArrayList<>();
                list.addAll(mlss.getCommodityList());
                list.addAll(pzsh.getCommodityList());
                list.addAll(rxxp.getCommodityList());
                LGAdapter adapter=new LGAdapter(MainActivity.this,list);
                listView.setAdapter(adapter);
                //GridView
                gridView.setAdapter(adapter);

            }
        });

    }

    @Override
    protected void bindEvent() {
   /*  //下拉加载
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
                 HttpUtil.httpAsynTask(listviewUrl, new HttpUtil.CallbackString() {

                     private JsonBean2.ResultBean list;

                     @Override
                     public void getData(String s) {
                         Gson gson=new Gson();
                         JsonBean2 bean2 = gson.fromJson(s, JsonBean2.class);
                         list = bean2.getResult();
                         LGAdapter adapter=new LGAdapter(list,MainActivity.this);
                     }
                 });
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

            }
        });*/
    }
}

HttpUtil

package com.bawei.week3moni;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;

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

import javax.security.auth.callback.Callback;

/**
 * @Author:Lenovo
 * @E-mail:
 * @Date:2019/2/15 19:33
 * @Description:描述信息
 */
public class HttpUtil {
    public  boolean isNet(Context context){
        if (context!=null){
            ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();
            if (networkInfo!=null){
                return networkInfo.isAvailable();
            }
        }
        return false;
    }
     public static void  httpAsynTask(String strUrl, final CallbackString backString){
          new AsyncTask<String,Integer,String>(){
              @Override
              protected String doInBackground(String... strings) {
                  return httpGet(strings[0]);
              }

              @Override
              protected void onPostExecute(String s) {
                  super.onPostExecute(s);
                  backString.getData(s);
              }
          }.execute(strUrl);
     }
     public  interface  CallbackString{
        void  getData(String s);
     }
      public static String httpGet(String strUrl){
          try {
              URL url=new URL(strUrl);
              HttpURLConnection connection= (HttpURLConnection) url.openConnection();
              connection.setRequestMethod("GET");
              connection.setConnectTimeout(5000);
              connection.setReadTimeout(5000);
              InputStream stream=connection.getInputStream();
              BufferedReader reader=new BufferedReader(new InputStreamReader(stream,"utf-8"));
              StringBuilder builder=new StringBuilder();
              String str="";
              while ((str=reader.readLine())!=null){
                  builder.append(str);
              }
               connection.disconnect();
              return  builder.toString();
          } catch (Exception e) {

              e.printStackTrace();
          }
          return null;
      }
}

记得导入bean包 自己定义的

base

baseActivity

package com.bawei.week3moni.base;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentActivity;
import android.view.View;

/**
 * @Author:Lenovo
 * @E-mail:
 * @Date:2019/2/15 19:33
 * @Description:描述信息
 */
public abstract class BaseAcyivity extends FragmentActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(bindLayout());
        initView();
        initData();
        bindEvent();

    }
    public  abstract int bindLayout();

    protected   abstract void initView();

    protected  abstract void  initData();
    protected abstract void bindEvent();

    protected <T extends View> T bindView(int resid){
        return  findViewById(resid);
    }

}

BaseFragment

package com.bawei.week3moni.base;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * @Author:Lenovo
 * @E-mail:
 * @Date:2019/2/15 19:33
 * @Description:描述信息
 */
public abstract class BaseFragment  extends Fragment {
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        return super.onCreateView(inflater, container, savedInstanceState);
    }
  protected  abstract  int bindLayout();

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
         initView();
         initData();
         bindEvent();
    }
    protected   abstract void initView();

    protected  abstract void  initData();
    protected abstract void bindEvent();

    protected <T extends View > T bindView(int resid){
        return (T) getView().findViewById(resid);
    }
}

LGAdapter

package com.bawei.week3moni.adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bawei.week3moni.R;
import com.bawei.week3moni.bean.CommodityListBean;
import com.bumptech.glide.Glide;

import java.util.ArrayList;

/**
 * @Author:Lenovo
 * @E-mail:
 * @Date:2019/2/15 19:33
 * @Description:描述信息
 */
public class LGAdapter extends BaseAdapter {
    private Context context;
    private ArrayList<CommodityListBean> list;

    public LGAdapter(Context context, ArrayList<CommodityListBean> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public Object getItem(int i) {
        return null;
    }

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

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder holder;
      if (view==null){
          view= View.inflate(context, R.layout.item1,null);
          holder=new ViewHolder();
          holder.imageView = view.findViewById(R.id.imageview);
          holder.textView=view.findViewById(R.id.text_view);
          holder.textView1=view.findViewById(R.id.text_view1);
              view.setTag(holder);
      }else{
         holder=(ViewHolder)view.getTag();
      }
    // holder.textView.setText(list.get(i).getSaleNum()+"");
   holder.textView.setText(list.get(i).getPrice()+"");
      holder.textView1.setText(list.get(i).getCommodityName());
        Glide.with(context).load(list.get(i).getMasterPic()).into(holder.imageView);

        return view;
    }
    class ViewHolder{
        private ImageView imageView;
        private TextView textView;
        private  TextView textView1;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值