强大的构造器传参!很简单,想用哪个类就把哪个类传进来!

比如我要在适配器中拿到这个类SCBaseApplication
那么就在适配器中

public ItemJiedaiListAdapter(Context context, SCBaseApplication app) {
        this.context = context;
        this.layoutInflater = LayoutInflater.from(context);
        this.app = app;
    }
package com.jiawabang.ui.adapter;

import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.jiawabang.API.APIManager;
import com.jiawabang.Callback.CommonResultCallback;
import com.jiawabang.Model.CommonResultModel;
import com.jiawabang.Model.OrderListModel;
import com.jiawabang.R;
import com.jiawabang.base.SCBaseApplication;
import com.jiawabang.ui.activity.OrderDetialActivity;

import java.util.List;

import okhttp3.Call;

public class ItemJiedaiListAdapter extends BaseAdapter {

    private List<OrderListModel.OrderListDataModel.OrderListPageModel> mEntities;
    private int mWorkerId;
    private SCBaseApplication app;
    //   app = (SCBaseApplication) getActivity().getApplication();
    private Context context;
    private LayoutInflater layoutInflater;

    public ItemJiedaiListAdapter(Context context, List<OrderListModel.OrderListDataModel.OrderListPageModel> entities) {
        this.context = context;
        this.layoutInflater = LayoutInflater.from(context);
        this.mEntities = entities;

    }
    public ItemJiedaiListAdapter(Context context, SCBaseApplication app) {
        this.context = context;
        this.layoutInflater = LayoutInflater.from(context);
        this.app = app;
    }

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

    @Override
    public OrderListModel.OrderListDataModel.OrderListPageModel getItem(int position) {
        return mEntities.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = layoutInflater.inflate(R.layout.item_jiedai_list, parent, false);
            convertView.setTag(new ViewHolder(convertView));
        }
        initializeViews((OrderListModel.OrderListDataModel.OrderListPageModel) getItem(position), (ViewHolder) convertView.getTag(), position);
        return convertView;
    }

    private void initializeViews(final OrderListModel.OrderListDataModel.OrderListPageModel entity, ViewHolder holder, int position) {
        //TODO implement

        mWorkerId = app.worki;
        Log.e("166", "run:--------->entity.assigntype " + entity.assigntype);
        if (entity.assigntype == 0) {
            holder.tvItemJiedaiList.setText("商家指定");
        } else {
            if (entity.assigntype == 1) {
                holder.tvItemJiedaiList.setText("家哇帮派单");
            } else {
                holder.tvItemJiedaiList.setText("家哇帮抢单");
            }
        }
        holder.mTvServerTypeItemJiedai.setText(entity.servicetype);
        holder.mTvServiceTime.setText(entity.servicetime);
        holder.mTvServiceTime1.setText(entity.dayNum);
        holder.mTvAddValueServiceItemJiedai.setText(entity.vaservice);
        holder.mTvMemoinfoJiedaiItem1.setText(entity.memoinfo);
        holder.mTvDeaddressDaijiedanItem1.setText(entity.deaddress);
        holder.mTvCsaddressJiedaiItem1.setText(entity.csaddress);
        holder.mTvCustomerserviceDaijiedaiItem1.setText(entity.customerservice);
        holder.mTvServicephoneJiedaiItem1.setText(entity.servicephone);
        holder.mTvServicefeeDaijiedanItem1.setText(entity.servicefee + "");
        holder.mBtAcceptorder.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View mView) {
                APIManager.acceptOrder(mWorkerId, entity.orderid, new CommonResultCallback() {
                    @Override
                    public void onError(Call call, Exception e, int id) {
//                        Toast.makeText(app, "接单失败", Toast.LENGTH_SHORT).show();
                        Log.e("1", "run:---------> " + "接单失败了");
                    }

                    @Override
                    public void onResponse(CommonResultModel response, int id) {
                        if (response.result == 0) {
                            Intent mIntent = new Intent(context, OrderDetialActivity.class);
                            context.startActivity(mIntent);
                        } else {
                            Toast.makeText(context, "接单失败", Toast.LENGTH_SHORT).show();
                            Log.e("1", "run:---------> " + "接单失败");
                        }


                    }
                });
            }
        });
//集合里面再套集合就这么搞,可按安排面试题
        List<OrderListModel.OrderListDataModel.OrderListPageModel.OrderListProductDetModel> det = entity.productDet;
        if (holder.shangpininfo_linear.getChildCount() > 0) {
            holder.shangpininfo_linear.removeAllViews();
        }
        if (det != null && det.size() > 0) {
            for (int i = 0; i < det.size(); i++) {
                View v = layoutInflater.inflate(R.layout.item_textviewshangpin, null);
                TextView detname = (TextView) v.findViewById(R.id.productname);
                TextView detnum = (TextView) v.findViewById(R.id.productnum);
                detname.setText(det.get(i).productName);
                detnum.setText("X  " + det.get(i).numbers);
                holder.shangpininfo_linear.addView(v);
            }
        }


    }

    protected class ViewHolder {
        private TextView tvItemJiedaiList;

        private TextView mTvServerTypeItemJiedai;
        private TextView mTvServiceTime;
        private TextView mTvServiceTime1;
        private TextView mTvAddValueServiceItemJiedai;
        private TextView mTvMemoinfoJiedaiItem1;
        private TextView mTvDeaddressDaijiedanItem1;
        private TextView mTvCustomerserviceDaijiedaiItem1;
        private TextView mTvServicephoneJiedaiItem1;
        private TextView mTvServicefeeDaijiedanItem1;
        private TextView mTvCsaddressJiedaiItem1;

        private Button mBtRefuseorder;
        private Button mBtAcceptorder;


        private LinearLayout shangpininfo_linear;

        public ViewHolder(View view) {
            tvItemJiedaiList = (TextView) view.findViewById(R.id.tv_assigntype_grab_fragment);
            mTvServerTypeItemJiedai = (TextView) view.findViewById(R.id.tv_serverType_item_jiedai);
            mTvServiceTime = (TextView) view.findViewById(R.id.tv_serviceTime);
            mTvServiceTime1 = (TextView) view.findViewById(R.id.tv_serviceTime1);
            mTvAddValueServiceItemJiedai = (TextView) view.findViewById(R.id.tv_addValueService_item_jiedai);
            mTvMemoinfoJiedaiItem1 = (TextView) view.findViewById(R.id.tv_memoinfo_jiedai_item1);
            mTvDeaddressDaijiedanItem1 = (TextView) view.findViewById(R.id.tv_deaddress_daijiedan_item1);
            mTvCustomerserviceDaijiedaiItem1 = (TextView) view.findViewById(R.id.tv_customerservice_daijiedai_item1);
            mTvServicephoneJiedaiItem1 = (TextView) view.findViewById(R.id.tv_servicephone_jiedai_item1);
            mTvServicefeeDaijiedanItem1 = (TextView) view.findViewById(R.id.tv_servicefee_daijiedan_item1);
            mTvCsaddressJiedaiItem1 = (TextView) view.findViewById(R.id.tv_csaddress_jiedai_item1);


            mBtRefuseorder = (Button) view.findViewById(R.id.bt_refuseorder);
            mBtAcceptorder = (Button) view.findViewById(R.id.bt_acceptorder);

            shangpininfo_linear = (LinearLayout) view.findViewById(R.id.shangpininfo_linear);


        }
    }
}

要拿的类

package com.jiawabang.base;

import com.example.sj.library.base.BaseApplication;

/**
 * Created by Administrator on 2016/5/11.
 */
public  class SCBaseApplication extends BaseApplication {

    public static int worki=0;//设成静态方法,直接类名.获取

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值