1

我用startActivityForResult的活性1啓動活性2 0:resultCode爲是除了使用startActivityForResult和的setResult

btnSelectFiles.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View view) { 
      savePreferences(); 
      Intent i = new Intent(getApplicationContext(), 
        FileManagerActivity.class); 
      Bundle mBundle = new Bundle(); 
      mBundle.putString("FileManager", "NewOrder"); 
      i.putExtras(mBundle); 
      startActivityForResult(i, Constants.addFilesCode); 

     } 
    }); 

onActivityResult方法:

和活性2:

Intent returnIntent = new Intent(); 
setResult(1,returnIntent); 
FileManagerActivity.this.finish(); 

但在活動1 requestCode是正確的,但resultCode總是0.

我不使用後退按鈕。

我在活動1

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Log.i(TAG, "onActivityResult"); 
     Log.i(TAG, 
       "onActivityResult requestCode" + Integer.toString(requestCode) 
         + "resultCode" + Integer.toString(resultCode)); 
     // adding files to the list if the files were added successfully 
     if (requestCode == Constants.addFilesCode) 
     { 

      // successfull operation 
      if (resultCode == 1) 
      { 
       if (adapter == null) 
        addFiles(); 
       else if (adapter.getCount() == 0) 
        addFiles(); 
       else { 
        adapter.notifyDataSetChanged(); 
        changeFileHeader(); 
       } 
       btnFilesRemove.setVisibility(View.VISIBLE); 
       for (int b = 0; b < FileManagerActivity.getFinalAttachFiles() 
         .size(); b++) { 
        checks.add(b, 0); 
       } 
      } 
     } 
+0

只是檢查,但你是否在'Activity1'的'onActivityResult'方法中檢查這個值? – kabuko

+0

是的。我收到requestCode(是5 - 正確的)和resultCode總是0 –

+0

我沒有看到任何明顯的代碼錯誤,你可能會添加更多的周圍的代碼來幫助。你從哪裏調用'setResult'?我們是否也可以看到'onActivityResult'方法? – kabuko

回答

0

我的問題onActivityResult是,我開始用活動FLAG_ACTIVITY_NO_HISTORY。只要我刪除它,resultCode開始傳播回呼叫者。

相關問題