我有一个代码,可以从图库中获取图像,然后用它设置网格大小。
将 android 发送到 SizeSelection 类的主要代码。
拼图 Activity :
if( resultCode == RESULT_OK) {
Intent gridSizeIntent = new Intent();
gridSizeIntent.setClass(this, SizeSelection.class);
startActivityForResult(gridSizeIntent, GRIDSIZE_VALUE_SELECT);
createGameBoard(SizeSelection.getGridSize(this));
}
但这就是麻烦出现的地方:SizeSelection,当我点击应该激活并设置 gridSize 的按钮时,什么也没有发生。我认为问题在于将数据从 SizeSelection 获取到主 PuzzleActivity 类。
尺寸选择:
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 方法?提前致谢
最佳答案
当您启动一个获取结果的 Activity 时,您当前的代码不会阻塞。也就是说,startActivityForResult()
很快返回,但您还没有结果。为了接收结果(一旦结果可用),您必须在调用类中提供 onActivityResult(int, int, Intent)
方法。一旦结果可用,该方法就会自动调用。
在您的子 Activity 中,您必须做两件事才能提供结果。首先,您调用 setResult(int)
来提供当前对结果的期望。这不会返回任何内容,它只是准备结果 - 如果您愿意,您可以在第二步之前随时更改它。其次,您调用 finish()
来完成您的 Activity 。
参见http://developer.android.com/reference/android/app/Activity.html获取完整文档。
关于java - 从 startActivityForResult 获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13477634/