在我的程序中,我想在将图像上传到服务器时显示三种状态,状态为:
上传完成
上传失败
已存在
我仍然在代码中实现了上传完成和失败条件,但不知道我需要在If-else块中实现已经存在的位置和方式。
String strStatusID = "0";
String strError = "";
try {
JSONObject c = new JSONObject(resServer);
strStatusID = c.getString("StatusID");
strError = c.getString("Message");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Prepare Status
if(strStatusID.equals("0"))
{
status.setImageResource(R.drawable.upload_failed);
ImageButton btnUpload = (ImageButton) v.findViewById(R.id.btnUpload);
btnUpload.setEnabled(true);
}
else
{
status.setImageResource(R.drawable.upload_done);
}
}
编辑代码: -
String strStatusID = "0" ;
String strError = "" ;
try {
JSONObject c = new JSONObject(resServer);
strStatusID = c.getString("StatusID");
strError = c.getString("Message");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(strStatusID.equals("0"))
{
status.setImageResource(R.drawable.upload_failed);
ImageButton btnUpload = (ImageButton) v.findViewById(R.id.btnUpload);
btnUpload.setEnabled(true);
}
else if((strStatusID.equals("1")) // Syntax error on token ")", ) expected after this token
{
status.setImageResource(R.drawable.upload_done);
}
else
{
status.setImageResource(R.drawable.already_exist);
}
}
答案 0 :(得分:2)
只需使用else if
if(strStatusID.equals("0"){
...
}
else if(strStatusID.equals("1")){
...
}
else {
...
}
如果您使用enum
作为状态和switch
声明,那么您的代码会更好。
答案 1 :(得分:1)
if(strStatusID.equals("1")){
// Upload Done
}else if(strStatusID.equals("2")){
// Upload Failed
}else{
// Already Exist or any other value
}
答案 2 :(得分:1)
if(strStatusID.equals("0"))
{
status.setImageResource(R.drawable.upload_failed);
ImageButton btnUpload = (ImageButton) v.findViewById(R.id.btnUpload);
btnUpload.setEnabled(true);
}
else if((strStatusID.equals("1")
{
status.setImageResource(R.drawable.alreadyexist);
}
else
{
status.setImageResource(R.drawable.upload_done);
}
答案 3 :(得分:1)
而不是 if else 条件使用 if elseif 条件
String strStatusID = "0";
String strError = "";
try {
JSONObject c = new JSONObject(resServer);
strStatusID = c.getString("StatusID");
strError = c.getString("Message");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Prepare Status
if(strStatusID.equals("0"))
{
status.setImageResource(R.drawable.upload_failed);
ImageButton btnUpload = (ImageButton) v.findViewById(R.id.btnUpload);
btnUpload.setEnabled(true);
}
else if(strStatusID.equals("1"))
{
status.setImageResource(R.drawable.upload_done);
}
else{
}
}
答案 4 :(得分:1)
已经存在必须是服务器的答案。 您可以使用不同的解决方案:
if (strStatusID.equals("0")){
//upload failed
....
}else{
//upload success
if (strStatusID.equals("1")){
//upload ok
}else{
//already exist
}
}
或
if (strStatusID.equals("0")){
//upload failed
....
}else if (strStatusID.equals("1")){
//upload ok
}else{
//already exist
}
或
int status = Integer.parse(strStatusID);
switch(status){
case 0:
//upload failed
break;
case 1:
//upload ok
break;
case 3:
//already exist
break;
default:
//do nothing
}