第一种:
public class QueryErrorCode {
public static void showErrorMsg(Context context,TextView textview,int rst)
{
switch (rst) {
case ErrorTable.CV_E_UNSURPPORTED:
show(context,textview,"该版本未开启此功能");
//Toast.makeText(context, "该版本未开启此功能", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_INVALIDARG:
Toast.makeText(context, "无效参数", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_HANDLE:
Toast.makeText(context, "句柄错误", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_FAIL:
Toast.makeText(context, "内部错误", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_DELNOTFOUND:
Toast.makeText(context, "定义缺失", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_INVALID_PIXEL_FORMAT:
Toast.makeText(context, "不支持的图像格式", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_FILE_NOT_FOUND:
Toast.makeText(context, "模型文件不存在", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_INVALID_FILE_FORMAT:
Toast.makeText(context, "模型格式不正确,导致加载失败", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_INVALID_APPID:
Toast.makeText(context, "包名错误", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_INVALID_AUTH:
//Toast.makeText(context, "授权验证失败", Toast.LENGTH_LONG).show();
textview.setText("授权验证失败");
textview.postInvalidate();
break;
case ErrorTable.CV_E_AUTH_EXPIRE:
Toast.makeText(context, "SDK过期", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_FILE_EXPIRE:
Toast.makeText(context, "模型文件过期", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_DONGLE_EXPIRE:
Toast.makeText(context, "加密狗过期", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_ONLINE_AUTH_FAIL:
Toast.makeText(context, "在线验证失败", Toast.LENGTH_LONG).show();
break;
case ErrorTable.CV_E_ONLINE_AUTH_TIMEOUT:
Toast.makeText(context, "在线验证超时", Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
}
第二种:
public class QueryErrorCode {
public static void showErrorMsg(Context context,TextView textview,int rst)
{
switch (rst) {
case ErrorTable.CV_E_UNSURPPORTED:
show(context,textview,"该版本未开启此功能");
break;
case ErrorTable.CV_E_INVALIDARG:
show(context,textview,"无效参数");
break;
case ErrorTable.CV_E_HANDLE:
show(context,textview,"句柄错误");
break;
case ErrorTable.CV_E_FAIL:
show(context,textview,"内部错误");
break;
case ErrorTable.CV_E_DELNOTFOUND:
show(context,textview,"定义缺失");
break;
case ErrorTable.CV_E_INVALID_PIXEL_FORMAT:
show(context,textview,"不支持的图像格式");
break;
case ErrorTable.CV_E_FILE_NOT_FOUND:
show(context,textview,"模型文件不存在");
break;
case ErrorTable.CV_E_INVALID_FILE_FORMAT:
show(context,textview,"模型格式不正确,导致加载失败");
break;
case ErrorTable.CV_E_INVALID_APPID:
show(context,textview,"包名错误");
break;
case ErrorTable.CV_E_INVALID_AUTH:
show(context,textview,"授权验证失败");
break;
case ErrorTable.CV_E_AUTH_EXPIRE:
show(context,textview,"SDK过期");
break;
case ErrorTable.CV_E_FILE_EXPIRE:
show(context,textview,"模型文件过期");
break;
case ErrorTable.CV_E_DONGLE_EXPIRE:
show(context,textview,"加密狗过期");
break;
case ErrorTable.CV_E_ONLINE_AUTH_FAIL:
show(context,textview,"在线验证失败");
break;
case ErrorTable.CV_E_ONLINE_AUTH_TIMEOUT:
show(context,textview,"在线验证超时");
break;
default:
break;
}
}
public static void show(Context context,TextView textview,String errorMsg)
{
//Toast.makeText(context, errorMsg, Toast.LENGTH_LONG).show();
textview.setText(errorMsg);
textview.postInvalidate();
}
}
第一种是不假思索写出来的,第二种是在高人指点下写的。
对比两种发现,虽然只是把Toast单独放到一个方法里面,但看起来段落清晰,清爽多了,更重要的是在show方法里可以随意使用Toast还是textview只需注释一行代码,对比第一种则需在每个case里注释,很繁琐。代码是一种艺术,需要用心一行一行写。