2012-11-20 86 views
0

我有一個代碼,它將從庫中獲取圖像,然後使用它設置gridSize。從startActivityForResult獲取結果

將把android發送到SizeSelection類的主要代碼。

PuzzleAcitivity:

if(resultCode == RESULT_OK) { 
     Intent gridSizeIntent = new Intent();    
     gridSizeIntent.setClass(this, SizeSelection.class); 
     startActivityForResult(gridSizeIntent, GRIDSIZE_VALUE_SELECT); 
     createGameBoard(SizeSelection.getGridSize(this)); 
     } 

但是這是在麻煩踢:SizeSelection,當我打的應該激活並設置gridSize沒有happends的按鈕。我認爲問題在於將數據從SizeSelection獲取到PuzzleActivity主類。

sizeSelection:

protected static short getGridSize(Context content) { 
     if (mIbtn3x3 == view) { 
      short gridSize = 3; 
      return gridSize; 
     }else if (mIbtn4x4 == view) { 
      short gridSize = 4; 
      return gridSize; 
     }else if (mIbtn5x5 == view) { 
      short gridSize = 5; 
      return gridSize ; 
     } 
      return gridSize; 
     } 

我怎麼完成getGridSize方法?在此先感謝

回答

0

我認爲,當你比較mIbtn ... ==觀點也許沒有任何匹配檢查它:)

1

當你開始對結果的活動,你目前的代碼不會阻止。也就是說,startActivityForResult()很快就會返回,您還沒有結果。爲了接收結果(一旦可用),您必須在您的呼叫類中提供onActivityResult(int, int, Intent)方法。一旦結果可用,該方法將自動調用。

在你的孩子的活動中,你必須做兩件事來提供結果。首先,您致電setResult(int)以提供當前期望的結果。這不會返回任何內容,它只是準備結果 - 如果您希望在第二步之前的任何時間,您可以更改它。其次,您致電finish()完成您的活動。

有關完整文檔,請參閱http://developer.android.com/reference/android/app/Activity.html