android中listview里button点击后的状态记录

来源:互联网 发布:cnc加工中心编程学徒工 编辑:程序博客网 时间:2024/05/14 14:47
public View getView(final int arg0, View arg1, final ViewGroup arg2) {// TODO Auto-generated method stubfinal ViewHolder holder;// i = arg0;if (arg1 == null) {holder = new ViewHolder();arg1 = inflater.inflate(R.layout.agreement_track_list_item, null);holder.cbTrack = (CheckBox) arg1.findViewById(R.id.cb_track);holder.tvContractNode = (TextView) arg1.findViewById(R.id.contract_node);holder.tvContractTel = (TextView) arg1.findViewById(R.id.contract_person_tel);holder.tvContractData = (TextView) arg1.findViewById(R.id.contract_datas);holder.tvContractMemo = (TextView) arg1.findViewById(R.id.contract_memo);holder.tvContractPserson = (TextView) arg1.findViewById(R.id.contract_person);holder.fristView = (View) arg1.findViewById(R.id.id_view_first);holder.endView = (View) arg1.findViewById(R.id.id_view_end);holder.ivCirlce = (ImageView) arg1.findViewById(R.id.iv_cirlce_process);holder.btLook = (Button) arg1.findViewById(R.id.bt_look_phone_number);arg1.setTag(holder);} else {holder = (ViewHolder) arg1.getTag();}<span style="color:#ff0000;">if (map.get(arg0 + "") == null) {map.put(arg0 + "", false);}</span>//此操作(得到imeOptions)用于button与textView的绑定,否则两者位置会错乱 //final int imeOptions = holder.btLook.getImeOptions();//final int telOptions = holder.tvContractTel.getImeOptions();holder.btLook.setTag(arg0);holder.tvContractTel.setTag(arg0);<span style="color:#ff0000;">holder.btLook.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//if (imeOptions == telOptions) {if(holder.btLook.getTag()==holder.tvContractTel.getTag()){holder.btLook.setVisibility(View.GONE);holder.tvContractTel.setVisibility(View.VISIBLE);</span>map.put(arg0 + "", true);<span style="color:#ff0000;">}}});</span>final AgreementList_Item agreementTrace = list.get(arg0);// 第一次不出现viewif (arg0 == 0) {holder.fristView.setVisibility(View.INVISIBLE);} else {holder.fristView.setVisibility(View.VISIBLE);}// 最后一条不出现viewif (arg0 == list.size() - 1) {holder.endView.setVisibility(View.INVISIBLE);} else {holder.endView.setVisibility(View.VISIBLE);}// 合同当前状态holder.tvContractNode.setText(agreementTrace.node);// 操作人if (!TextUtils.isEmpty(agreementTrace.usersid)) {holder.tvContractPserson.setText(" " + agreementTrace.usersid);} else {holder.tvContractPserson.setText(" 暂无");}// 操作人电话if (!TextUtils.isEmpty(agreementTrace.usertel.trim())) {holder.tvContractTel.setText(" " + agreementTrace.usertel);holder.tvContractTel.setTextColor(Color.BLUE);holder.tvContractTel.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + agreementTrace.usertel));intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);ctx.startActivity(intent);}});} else {holder.tvContractTel.setText(" 暂无");holder.tvContractTel.setTextColor(Color.BLACK);}// 当前状态是否完成if ("1".equals(agreementTrace.isfinish)) {holder.cbTrack.setChecked(true);arg1.setBackgroundColor(Color.parseColor("#F3F3F3"));holder.ivCirlce.setBackgroundResource(R.drawable.shape_circle_style);} else {holder.cbTrack.setChecked(false);arg1.setBackgroundColor(Color.WHITE);holder.btLook.setVisibility(View.GONE);holder.ivCirlce.setBackgroundResource(R.drawable.shape_gray_circle_style);}// 合同追踪时间// 格式化提交时间String inputDatas = TimestampUtils.StringDateFormat(agreementTrace.inputdates);// 格式化完成时间String finishDatas = TimestampUtils.StringDateFormat(agreementTrace.redate);// 设置时间if (!TextUtils.isEmpty(inputDatas) && !TextUtils.isEmpty(finishDatas)) {holder.tvContractData.setText(" "+finishDatas.split(" ")[0]);} else {holder.tvContractData.setText(" 暂无");}// 备注if (!TextUtils.isEmpty(agreementTrace.memo)) {String memo = agreementTrace.memo.replace("/", "");holder.tvContractMemo.setText(" " + Html.fromHtml(memo));} else {holder.tvContractMemo.setText(" 暂无");}//此处对button的状态进行判断<span style="color:#cc0000;">if (!map.get(arg0 + "")) {holder.btLook.setVisibility(View.VISIBLE);holder.tvContractTel.setVisibility(View.GONE);} else {holder.btLook.setVisibility(View.GONE);holder.tvContractTel.setVisibility(View.VISIBLE);}</span>

0 0