上拉下拉简单使用

开始写代码之前先进行准备工作. 以下的三个依赖全部导入项目中.

implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-19'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-19'
implementation 'com.android.support:appcompat-v7:25.3.1'

 然后就是网络权限,以及一些必要的依赖比如Gson,banner这些.

<com.scwang.smartrefresh.layout.SmartRefreshLayout
        android:id="@+id/SmartRefreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.scwang.smartrefresh.layout.header.ClassicsHeader
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>


        <在header和footer之间写布局代码>

        <com.scwang.smartrefresh.layout.footer.ClassicsFooter
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>


    </com.scwang.smartrefresh.layout.SmartRefreshLayout>

下面开始正式的代码环节

首先抽基类,一个BaseActivity,BaseFragment

BaseActivity oncreate()中

一共四个方法

1.bindLayout()抽象方法,绑定视图

2.initView()抽象方法,绑定组件

3.initData()抽象方法,操作数据

4.bindEvent()抽象方法,设置监听方法

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

BaseFragment onCreateView中

return inflater.inflate(bindLayout(),container,false);

这个地方直接绑定BaseActifity中的bindLayout()方法

onActivityCreated()方法中

2.initView()抽象方法,绑定组件

3.initData()抽象方法,操作数据

4.bindEvent()抽象方法,设置监听方法

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

MainActivity页面

public class MainActivity extends BaseActivity {

    private String bannerUrl = "https://api.apiopen.top/musicRankings?tdsourcetag=s_pcqq_aiomsg";
    private String listviewUrl = "http://172.17.8.100/small/commodity/v1/commodityList";
    private SmartRefreshLayout sma;
    private com.alanapi.banner.Banner banner;
    private ListView listview;

    @Override
    protected int bindLayout() {
        return R.layout.activity_main;
    }

    @Override
    protected void initView() {
        sma = bindView(R.id.SmartRefreshLayout);
        banner = bindView(R.id.banner01);
        listview = bindView(R.id.listview);



    }

    @Override
    protected void initData() {

        HttpUtils.httpAsynTask(bannerUrl, new HttpUtils.CallBackString() {
            @Override
            public void getData(String s) {
                Gson gson = new Gson();
                JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
                ArrayList<Two> result = jsonBean.getResult();
                banner.setBannerImageLoader(new BannerImageLoader() {
                    @Override
                    protected void displayImage(Context context, ImageView imageView, Object o) {
                            Two two = (Two) o;
                            Glide.with(MainActivity.this).load(two.getPic_s210()).into(imageView);
                    }
                });
                banner.isAutoPlay(true);
                banner.setData(result);
                banner.setDelayTime(3000);
                banner.start();

            }
        });

        HttpUtils.httpAsynTask(listviewUrl, new HttpUtils.CallBackString() {
            @Override
            public void getData(String s) {
                Gson gson = new Gson();
                JsonBean2 bean2 = gson.fromJson(s, JsonBean2.class);
                JsonBean2.ResultBean result = bean2.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());

                MyAdapter adapter = new MyAdapter(MainActivity.this,list);
                listview.setAdapter(adapter);



            }
        });







    }

    @Override
    protected void bindEvent() {

    }

  
}

adapter页面

public class MyAdapter extends BaseAdapter {

    private Context context;
    private ArrayList<CommodityListBean> list;

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

    @Override
    public int getCount() {
        return list.size()<0?0:list.size();
    }

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

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder = null;
        if(convertView==null){
                holder = new ViewHolder();
            convertView = View.inflate(context,R.layout.item1,null);
            holder.tv1 = convertView.findViewById(R.id.tv1);
            holder.img1 = convertView.findViewById(R.id.img1);
            convertView.setTag(holder);
        }else{
            holder = (ViewHolder) convertView.getTag();
        }

        holder.tv1.setText(list.get(position).getCommodityName());
        Glide.with(context).load(list.get(position).getMasterPic()).into(holder.img1);

        return convertView;
    }

    class ViewHolder{
        ImageView img1;
        TextView tv1;

    }


}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值