ShipDetailAdapter.java 6.96 KB
package com.huaheng.mmsrf.adapter;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
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.huaheng.mmsrf.R;
import com.huaheng.mmsrf.activity.car.ShipDetailActivity;
import com.huaheng.mmsrf.bean.Constant;
import com.huaheng.mmsrf.bean.ShipDetail;
import com.huaheng.mmsrf.bean.ShipDetailBean;
import com.huaheng.mmsrf.bean.ShipHeader;
import com.huaheng.mmsrf.bean.ShipHeaderBean;
import com.huaheng.mmsrf.https.HttpInterface;
import com.huaheng.mmsrf.https.Subscribers.ProgressSubscriber;
import com.huaheng.mmsrf.https.Subscribers.SubscriberOnNextListener;
import com.huaheng.mmsrf.util.WMSLog;
import com.huaheng.mmsrf.util.WMSUtils;

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

/**
 * Created by youjie on 2021/3/12
 */
public class ShipDetailAdapter extends BaseAdapter {

    private Context mContext;
    private List<ShipDetailBean> mList = new ArrayList<>();

    public ShipDetailAdapter(Context mContext) {
        this.mContext = mContext;
    }

    public List <ShipDetailBean> getmList() {
        return mList;
    }

    public void setList(List <ShipDetailBean> mList) {
        this.mList = mList;
    }

    @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;
    }

    @Override
    public View getView(final int position, View convertView, ViewGroup viewGroup) {
      ViewHolder viewHolder = new ViewHolder();
        if (convertView == null) {
            convertView = LayoutInflater.from(mContext).inflate(R.layout.shipdetail_list_item, null);
            TextView partNameView = (TextView) convertView.findViewById(R.id.partNameView);
            TextView specView = (TextView) convertView.findViewById(R.id.specView);
            TextView noView = (TextView) convertView.findViewById(R.id.noView);
            TextView worknoView = (TextView) convertView.findViewById(R.id.worknoView);
            TextView codeView = (TextView) convertView.findViewById(R.id.codeView);
            TextView weightView = (TextView) convertView.findViewById(R.id.weightView);
            TextView principalView = (TextView) convertView.findViewById(R.id.principalView);
            TextView statusView = (TextView) convertView.findViewById(R.id.statusView);
            Button completeBtn = (Button) convertView.findViewById(R.id.completeBtn);
            //LinearLayout driverLayoutView = (LinearLayout) convertView.findViewById(R.id.driverLayoutView);
            viewHolder.partNameView = partNameView;
            viewHolder.noView = noView;
            viewHolder.specView = specView;
            viewHolder.statusView = statusView;
            viewHolder.worknoView = worknoView;
            viewHolder.codeView = codeView;
            viewHolder.weightView = weightView;
            viewHolder.principalView = principalView;
            viewHolder.completeBtn = completeBtn;
           // viewHolder.driverLayoutView = driverLayoutView;
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        final ShipDetailBean bean = (ShipDetailBean) mList.get(position);
        viewHolder.partNameView.setText(bean.getName());
        viewHolder.noView.setText(bean.getNo());
        viewHolder.specView.setText(bean.getDrawno());
        viewHolder.codeView.setText(bean.getCode());
        viewHolder.statusView.setText(bean.getStatus());
        viewHolder.worknoView.setText(bean.getWorkno());
        viewHolder.weightView.setText(bean.getWeight());
        viewHolder.principalView.setText(bean.getPrincipal());
//        viewHolder.driverLayoutView.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//
//                Intent intent = new Intent();
//                intent.setClass(mContext, ShipDetailActivity.class);
//                Bundle bundle = new Bundle();
//                bundle.putString("headId", bean.getId() );
//                intent.putExtras(bundle);// 发送数据
//                mContext.startActivity(intent);
//            }
//        });
        if(bean.getStatus()==null) {
            viewHolder.statusView.setVisibility(View.GONE);
            viewHolder.completeBtn.setVisibility(View.VISIBLE);
            viewHolder.completeBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    showDeleteDialog(bean.getId(),bean.getName());
                }
            });
        } else {
            viewHolder.statusView.setVisibility(View.VISIBLE);
            viewHolder.completeBtn.setVisibility(View.GONE);
        }
        return convertView;
    }

    private void showDeleteDialog(final String id,String name) {
        AlertDialog mDialog;
        AlertDialog.Builder builder = new AlertDialog.Builder(mContext).setTitle("删除")
                .setMessage("是否删除"+name+"部件信息")
                .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        //按下确定键后的事件
                        deletShipDetail(id);
                    }
                }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
        mDialog = builder.create();
        mDialog.setCancelable(false);
        mDialog.show();
    }

    private class ViewHolder {
        TextView partNameView;
        TextView noView;
        TextView specView;
        TextView statusView;
        TextView worknoView;
        TextView weightView;
        TextView codeView;
        TextView principalView;
        Button completeBtn;
        LinearLayout driverLayoutView;
    }

    public void deletShipDetail(String id) {
        HttpInterface.getInsstance().deletShipDetail(new ProgressSubscriber<String>(mContext, deletShipDetailListener),
                id);
    }

    SubscriberOnNextListener deletShipDetailListener = new SubscriberOnNextListener <String>() {
        @Override
        public void onNext(String str) {
            WMSLog.d("deleteWork :" + str);
            ((ShipDetailActivity)mContext).search();
           //search();
        }

        @Override
        public void onError(String str) {
            if(Constant.RESET.equals(str)) {

            } else {
                WMSUtils.showShort(str);
            }
        }
    };
}