启动activity1,切换到activity2(完成后),恢复它结束的activity1

时间:2012-11-09 15:19:58

标签: android

我有一个启动PuzzleActivity的MainActivity,在PuzzleActivity的一半我想去SizeSelection activiy(有另一个布局),当点击布局中的一个按钮时,过程在活动I中完成想要恢复它结束的拼图(它去了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;
        }

PuzzleActivity:

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

2 个答案:

答案 0 :(得分:3)

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

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

setResult(RESULT_OK);
finish();

如果您需要发回一些数据,请使用intent和重载的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();

答案 1 :(得分:0)

你应该使用

startActivityForResult()

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

finish()

然后在。中设置网格大小。

onActivityResult()

此处有更详细的说明 http://developer.android.com/reference/android/app/Activity.html#StartingActivities