DetailAdapter.java 5.65 KB
package com.huaheng.mobilewms.adapter;

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

import com.huaheng.mobilewms.R;
import com.huaheng.mobilewms.activity.task.TaskActivity;
import com.huaheng.mobilewms.bean.DetailBean;
import com.huaheng.mobilewms.bean.MenuBean;
import com.huaheng.mobilewms.bean.TaskHeader;
import com.huaheng.mobilewms.https.HttpInterface;
import com.huaheng.mobilewms.https.Subscribers.ProgressSubscriber;
import com.huaheng.mobilewms.https.Subscribers.SubscriberOnNextListener;
import com.huaheng.mobilewms.util.WMSUtils;

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

public class DetailAdapter extends BaseAdapter {

    private Context mContext;
    private boolean showExtralTextView = false;
    private SubscriberOnNextListener sendTask2WcsListener;
    private List<DetailBean> mList = new ArrayList<>();

    public DetailAdapter(Context context) {
        this.mContext = context;
    }

    public List<DetailBean> getList() {
        return mList;
    }

    public void setList(List<DetailBean> list) {
        mList = list;
    }

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

    @Override
    public Object getItem(int i) {
        return mList.get(i);
    }

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

    public void showExtralText(boolean show){
        this.showExtralTextView = show;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {
        ViewHolder viewHolder = new ViewHolder();
        if (convertView == null) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.detail_list_item, null);
            ImageView detailView = (ImageView) convertView.findViewById(R.id.detailView);
            TextView detailType = (TextView) convertView.findViewById(R.id.detailType);
            TextView detailName = (TextView) convertView.findViewById(R.id.detailName);
            TextView referCode = (TextView) convertView.findViewById(R.id.referCode);
            TextView userDef1 = (TextView) convertView.findViewById(R.id.userDef1);
            TextView userDef2 = (TextView) convertView.findViewById(R.id.userDef2);
            TextView stationCode = (TextView) convertView.findViewById(R.id.stationCode);
            Button setStationBt = (Button) convertView.findViewById(R.id.setStationBt);

            if(showExtralTextView){
//                referCode.setVisibility(View.VISIBLE);
                userDef1.setVisibility(View.VISIBLE);
//                userDef2.setVisibility(View.VISIBLE);
            }

            TextView detailCode = (TextView) convertView.findViewById(R.id.detailCode);
            ImageView completeView = (ImageView) convertView.findViewById(R.id.completeView);
            viewHolder.icon = detailView;
            viewHolder.type = detailType;
            viewHolder.name = detailName;
            viewHolder.referCode = referCode;
            viewHolder.userDef1 = userDef1;
            viewHolder.userDef2 = userDef2;
            viewHolder.code = detailCode;
            viewHolder.complete = completeView;
            viewHolder.stationCode = stationCode;
            viewHolder.setStationBt = setStationBt;
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        final DetailBean bean = (DetailBean) mList.get(position);
        viewHolder.icon.setImageDrawable(bean.getDrawable());
        viewHolder.type.setText(bean.getType());
        viewHolder.name.setText(bean.getName());
        viewHolder.referCode.setText(bean.getReferCode());
        viewHolder.userDef1.setText(bean.getUserDef1());
        viewHolder.userDef2.setText(bean.getUserDef2());
        viewHolder.stationCode.setText("站台:" + bean.getStationCode());

        if(bean.needStationSelectAction()){
            viewHolder.setStationBt.setVisibility(View.VISIBLE);
            viewHolder.setStationBt.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ((TaskActivity)mContext).showChooseStationDialog(bean.getTaskId());
                }
            });
        }
//        if(WMSUtils.isEmpty(bean.getReferCode())){
//            viewHolder.referCode.setVisibility(View.GONE);
//        }
//        if(WMSUtils.isEmpty(bean.getUserDef1())){
//            viewHolder.userDef1.setVisibility(View.GONE);
//        }
//        if(WMSUtils.isEmpty(bean.getUserDef2())){
//            viewHolder.userDef2.setVisibility(View.GONE);
//        }
        if(WMSUtils.isEmpty(bean.getStationCode())){
            viewHolder.stationCode.setVisibility(View.GONE);
        }
        viewHolder.code.setText(bean.getCode());
        if(bean.isComplete()) {
            viewHolder.complete.setImageDrawable(mContext.getResources().getDrawable(R.mipmap.complete_2));
            viewHolder.complete.setVisibility(View.VISIBLE);
        } else {
            viewHolder.complete.setVisibility(View.GONE);
        }
        return convertView;
    }

    public void setSendTask2WcsListener(SubscriberOnNextListener executePrisonEmptyOutListener) {
        this.sendTask2WcsListener = executePrisonEmptyOutListener;
    }

    private class ViewHolder {
        ImageView icon;
        TextView type;
        TextView name;
        TextView referCode;
        TextView userDef1;
        TextView userDef2;
        TextView code;
        TextView stationCode;
        ImageView complete;
        Button setStationBt;
    }
}