2012-11-20 67 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