2011-09-23 51 views
0

我有一个应用程序,让用户拍照并将其上传到网站。添加另一个布局以显示在OnActivityResult()

我现在有这样的代码:

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     if (requestCode == CAMERA_PIC_REQUESTED) { 
      if(resultCode == RESULT_OK) { 
       // Maybe add the additional code here?   

       picture = convertImageUriToFile(imageUri, this); 


       Thread thread = new Thread(null, uploader, "MagentoBackground"); 
       thread.start(); 
       m_ProgressDialog = ProgressDialog.show(pictures.this, "Please wait...", "Uploading data ...", true, true); 

      } 
     } else if (requestCode == EXPERIMENT_CODE) { 
      if (resultCode == Activity.RESULT_OK) { 
       experimentInput.setText("" + data.getExtras().getInt("edu.cs.h.exp_id")); 
      } 
     } 
    } 

然而,在下载图像之前,我想补充一点,与用户的项目清单带来了一个微调(下拉菜单)布局可以选择来描述图片。

我应该添加什么代码,以便在上传图片之前显示一个新的布局,用户做出选择并点击该布局上的“确定”按钮,然后返回到这段代码继续上传过程?

回答

2
static final int _MY_DIALOG_ = 11; 

if(resultCode == RESULT_OK) { 
    showDialog(_MY_DIALOG_); 
} 

@Override 
protected Dialog onCreateDialog(int id) { 
    if(id==_MY_DIALOG_){ 
     CharSequence[] shush = new CharSequence[10]; 
     //initialize shush 
     Dialog dialog = new AlertDialog.Builder(this).setTitle("Select Animation") 
      .setSingleChoiceItems(shush, 0, 
      new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        //the user has selected which!!! 
        dialog.dismiss(); 
       } 
      }).create(); 
     dialog.setOnDismissListener(new OnDismissListener() { 
      @Override 
      public void onDismiss(DialogInterface arg0) { 
       //do what you want now since the user selected! 
       picture = convertImageUriToFile(imageUri, this); 
       Thread thread = new Thread(null, uploader, "MagentoBackground"); 
       thread.start(); 
       m_ProgressDialog = ProgressDialog.show(pictures.this, "Please wait...", "Uploading data ...", true, true); 
      } 
     }); 
     return dialog; 
    } 
    return null; 
} 
+0

这看起来不错!但是,我不知道应该在哪里添加这个/我应该从原始代码中提取哪些内容。你介意编辑一下我原来的帖子,告诉我应该在哪里实现它?我自己尝试过,但我得到了一些错误!我为此成为新手道歉。 – Mxyk

+0

你的'if(resultCode == RESULT_OK){ showDialog(_MY_DIALOG_) }'应该更新为看起来像我给你..你必须添加静态整数和函数onCreateDialog到你的活动 –

+0

我有一个错误。在图片类型的convertImageUriToFile(Uri,Activity)方法不适用于参数(Uri,new DialogInterface.OnDismissListener(){}) ; – Mxyk

相关问题