Android快速开发之——最常用的基本列表框架搭建

框架基本介绍: 这是一个基本的列表页面的开发框架,这个列表页面的功能有:可自由配置标题栏、下拉刷新、上拉加载、网络请求时展示等待动画、请求失败及数据为空的页面展示。 写在前面: 本文可以自由的进行网络请求框架、图片加载框架、上拉刷新下拉加载框架、加载等待动效框架的自由配置。配置鸿洋大神的万能的ListView的适配器框架。 这样一个完整功能的列表页面,你们需要多少代码? privat
摘要由CSDN通过智能技术生成

框架基本介绍:
这是一个基本的列表页面的开发框架,这个列表页面的功能有:可自由配置标题栏、下拉刷新、上拉加载、网络请求时展示等待动画、请求失败及数据为空的页面展示。
写在前面:
本文可以自由的进行网络请求框架、图片加载框架、上拉刷新下拉加载框架、加载等待动效框架的自由配置。配置鸿洋大神的万能的ListView的适配器框架。
据说不上图,没人看
这样一个完整功能的列表页面,你们需要多少代码?

   private List<BeanMyTask> datas;
    private CommeAdapter<BeanMyTask> adapter;
    @Override
    protected UsingListBySon initDataBySon() {
        return new UsingListBySon(){
            @Override
            public void parseJsonMessage(String msg) {
                try {
                    loadingSwitch(false);
                    refershSwitch(true);
                    refershSwitch(false);
                    Gson gson = new Gson();
                    BeanMyTaskNet beanMyTaskNet = gson.fromJson(msg , BeanMyTaskNet.class);
                    if (!beanMyTaskNet.isSuccess()){
                        OkToast.getInstance(beanMyTaskNet.getMsg());
                    }else {
                        int counts = beanMyTaskNet.getBody().getDatas().size();
                        if (counts <= 0){
                            emptySwitch(true);
                        }else {
                            emptySwitch(false);
                            errorSwitch(false);
                            for (int i = 0; i <counts ; i++){
                                BeanMyTaskNet.BodyBean.DatasBean dataBean = beanMyTaskNet.getBody().getDatas().get(i);
                                datas.add(new BeanMyTask(ParseHtmlCode.ParseCode(dataBean.getName()) , dataBean.getWorkTasking().getId() , dataBean.getStatus() ,dataBean.getAssessType() , dataBean.getWorkTasking().getScore()+"分" , dataBean.getEndTime() , dataBean.getStatus(),dataBean.getOffice().getId()));
                            }
                            adapter.notifyDataSetChanged();
                            thinkNextPageNo(beanMyTaskNet.getBody().getCount());
                        }
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
            @Override
            public void insertAdapter(ListView parentListView) {
                parentListView.setAdapter(adapter);
            }
            @Override
            public String insertUrl() {
                return "http://www.dbdjypt.com:81/mobile/index/WDRWlist;JSESSIONID=79d66350590d495ba328d81b8a3812b1";
            }
            @Override
            public void clearDatas() {
                datas.clear();
            }
        };
    }
    @Override
    protected void init(Bundle savedInstanceState){
        initDatas();
        setLeftBtn(true, R.drawable.bbck, new View.OnClickListener(){
            @Override
            public void onClick(View v){
                finish();
                overridePendingTransition(R.anim.left_fadein,R.anim.left_fadeout);
            }
        });
        setTopTitle( "测试展示的列表页面" , true );
        setRightBtn( false , 0 , null );
    }
    private void initDatas(){
        datas = new ArrayList<>();
        adapter = new CommeAdapter<BeanMyTask>(datas , AnticityTestListBar.this , R.layout.item_mytask) {
            @Override
            public void cover(MyViewHolder holder, BeanMyTask item) {
                holder.setText(R.id.task_title , item.getTitle());
                holder.setText(R.id.task_score , "任务分值:"+item.getScore());
                holder.setText(R.id.task_type , "考核类别:"+item.getType());
                holder.setText(R.id.task_statue , "任务状态:"+item.getStatue());
            }
        };
    }

这么些代码就能直接完成这样的一个完成的页面的开发。而且类似功能的代码只需要继承基类,做一个json数据解析,创建列表适配器。
我的无敌基类。


/**
 * 不必在乎你为何这么长 因为你是万能上帝类啊!!
 */

public abstract class TopbarBaseListActivity extends Activity{
   
    private UsingListBySon usingListBySon;
    private View emptyPage , errorPage;
    private MyTaskStackTrace queue;
    public static final int NO_STATUE_BAR = 0;
    public static final int ALPHA_STATUE_BAR = 1;
    public static fina
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值