public void quxiao(final int position) { final String quxiaoyuanyin[] = {"行程改变", "我想重新下单", "车辆信息不符", "洗车工要求取消订单", "其他原因"}; AlertDialog.Builder builder = new AlertDialog.Builder(this, 3); TextView title = new TextView(this); title.setGravity(Gravity.CENTER_HORIZONTAL); title.setText("取消原因"); title.setTextSize(22);//字体大小 title.setPadding(0, 30, 0, 30);//位置 title.setTextColor(this.getResources().getColor(R.color.black)); builder.setCustomTitle(title); // builder.setMessage("是否确认退出?"); //设置内容 builder.setNegativeButton("取消", null); builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (quxiaoyuanyin != null) { // String yuanyin = quxiaoyuanyin.toString(); quxiaodingdan(tt, position); dialog.dismiss(); } else { Toast.makeText(CehuaDiaLayout.this, "请选择取消原因", Toast.LENGTH_SHORT).show(); } } }); // 设置列表显示,注意设置了列表显示就不要设置builder.setMessage()了,否则列表不起作用。 builder.setSingleChoiceItems(quxiaoyuanyin, -1, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { tt = quxiaoyuanyin[which]; } }); builder.create().show(); } private void quxiaodingdan(final String yuanyin, final int position) { final ProgressDialog pd = new ProgressDialog(CehuaDiaLayout.this); pd.setMessage("拼命加载中..."); pd.show(); Dingdan dingdan = (Dingdan) adapter.getItem(position); FormBody.Builder params = new FormBody.Builder(); params.add("O_UTel", Contast.user.getU_Tel()); params.add("O_PlateNumber", dingdan.getO_PlateNumber()); params.add("O_ID", "" + dingdan.getO_IDS()); params.add("keys", Contast.KEYS); if (!TextUtils.isEmpty(yuanyin)) { params.add("O_ISCancelValue", yuanyin); } else { params.add("O_ISCancelValue", ""); } OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url_quxiao) .post(params.build()) .build(); okhttp3.Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { pd.dismiss(); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CehuaDiaLayout.this, "网络连接异常,请稍后再试", Toast.LENGTH_SHORT).show(); return; } }); } @Override public void onResponse(Call call, Response response) throws IOException { pd.dismiss(); String string = response.body().string(); if (response.code() != HttpURLConnection.HTTP_OK) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CehuaDiaLayout.this, "服务器连接异常,请稍后重试...", Toast.LENGTH_SHORT).show(); return; } }); } else { if (!TextUtils.isEmpty(string)) { if (string.contains("ErrorStr")) { final Error error = JSON.parseObject(string, Error.class); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CehuaDiaLayout.this, error.getErrorStr(), Toast.LENGTH_SHORT).show(); } }); } else { Contast.user = JSON.parseObject(string, User.class); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CehuaDiaLayout.this, "订单已取消", Toast.LENGTH_SHORT).show(); // Intent intent = new Intent(DingdanXiangqingActivity.this,MyDingdanActivity.class); // startActivity(intent); Log.w("tttt", yuanyin); finish(); } }); } } else { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(CehuaDiaLayout.this, "服务器繁忙,请稍后重试...", Toast.LENGTH_SHORT).show(); return; } }); } } } }); }
调用:
myHolder.bt_quxiao.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (dingdan.getO_TypeID() == 1) { cehuaDiaLayout.quxiao(position); myHolder.bt_quxiao.setVisibility(View.VISIBLE); } else { myHolder.bt_dadianhua.setVisibility(View.VISIBLE); myHolder.bt_quxiao.setVisibility(View.VISIBLE); } } });