点击开始工作出现对话框,点击确定,执行下面的代码:
new AlertDialog.Builder(OrderDwActivity.this).setTitle("消息提示").setMessage("您确定要开始工作?")
.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// 开始计时
start_time();
handler_time.post(run);
tv_work_start.setBackgroundResource(R.drawable.et_input_cray);//开始工作按钮变成灰色并且不能再次点击
tv_work_start.setClickable(false);
String t=String.valueOf(System.currentTimeMillis()/1000);//substring(0,10) //请求一次服务器,服务器会记录下时间
String str_url=Config.STR_SERVICE_URL+"AppApi/start_work/client_type/android/t/"+t+"/u/"+u+"/q/"+
common.toSign(u, p, t)+"/id/"+repair_id;
HttpUtils http_post = new HttpUtils();
http_post.send(HttpRequest.HttpMethod.POST,str_url,
new RequestCallBack<String>() {
@Override
public void onStart() {
}
@Override
public void onLoading(long total, long current, boolean isUploading) {
}
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
try {
JSONObject jo = Common.toJSONObject(responseInfo.result);
if(jo.getString("status").equals("0")){
Toast.makeText(OrderDwActivity.this,jo.getString("info"),Toast.LENGTH_LONG).show();
}else{
Toast.makeText(OrderDwActivity.this,"您已开始工作了",Toast.LENGTH_LONG).show();
ray_repairresultsup.setVisibility(View.VISIBLE);
}
} catch (JSONException e) {
mPLoading.dismiss();
Toast.makeText(OrderDwActivity.this,"网络无法连接,请重试....",Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(HttpException error, String msg) {
Toast.makeText(OrderDwActivity.this,msg,Toast.LENGTH_SHORT).show();
}
});
}
})
.setNegativeButton("取消", null).show();
long s=0;
String time;void start_time(){
run = new Runnable() {
public void run() {
++s;
time =
((((int) (s / 3600)) + "".length()) > 1 ? ((int) (s / 3600))
: ("0" + ((int) (s / 3600))))
+ " 时 "
+ ((((int) (s / 60) - (60 * (int) (s / 3600))) + "")
.length() > 1 ? ((int) (s / 60) - (60 * (int) (s / 3600)))
: ("0" + ((int) (s / 60) - (60 * (int) (s / 3600)))))
+ " 分 "
+ (((s % 60) + "").length() > 1 ? (s % 60)
: ("0" + (s % 60))) + " 秒 ";
tv_work_sum.setText(time);
handler_time.postDelayed(run, 1000);
}
};
handler_time= new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
tv_work_sum.setText(msg.obj.toString());
}
};
}
// 正则表达式,把数字分离出来,判断是否开始,如果等于0还没开始,提醒下
String aa=tv_work_sum.getText().toString();
String regEx="[^0-9]";
Pattern pp = Pattern.compile(regEx);
Matcher mm = pp.matcher(aa);
String ww=mm.replaceAll("").trim();