0
点赞
收藏
分享

微信扫一扫

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

肉肉七七 2022-05-26 阅读 65

比如我要在适配器中拿到这个类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 mEntities;
private int mWorkerId;
private SCBaseApplication app;
// app = (SCBaseApplication) getActivity().getApplication();
private Context context;
private LayoutInflater layoutInflater;

public ItemJiedaiListAdapter(Context context, List 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 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 条评论