0

我有一个启动 PuzzleActivity 的 MainActivity,在 PuzzleActivity 中途我想去 SizeSelection 活动(它有另一个布局),当单击布局中的一个按钮并且该过程在我想要恢复的活动中完成时结束的拼图活动(它转到 SizeSelection.

尺码选择:

public 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;
        }

拼图活动:

Intent i5 = new Intent(this, SizeSelection.class);  
            startActivity(i5);
            createGameBoard(SizeSelection.getGridSize(this));
            break;
4

2 回答 2

3

使用startActivityForResult()而不是startActivity(). 这样你的启动活动不会被破坏,但就像“暂停”一样,所以它的onPause()方法将被调用。

然后在需要时从第二个活动返回到您的第一个活动:

setResult(RESULT_OK);
finish();

如果您需要发回一些数据,请使用意图和重载setResult()方法:

Intent data = new Intent();
data.put...
setResult(RESULT_OK, data); //RESULT_OK should be replaced by a positive int if you want to use the onActivityResult() method and get the data in the first activity
finish();
于 2012-11-09T15:28:41.287 回答
0

你应该使用

startActivityForResult()

而不是 startActivity。当您完成 SizeSelection 活动调用时

finish()

然后设置网格大小。

onActivityResult()

更详细的描述在这里 http://developer.android.com/reference/android/app/Activity.html#StartingActivities

于 2012-11-09T15:26:32.550 回答