0

PuzzleActivity を開始する MainActivity があります。PuzzleActivity の途中で SizeSelection アクティビティ (別のレイアウトがあります) に移動したいのですが、レイアウト内のボタンの 1 つをクリックすると、再開したいアクティビティでプロセスが完了します。パズル アクティビティが終了した場所 (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()メソッドが呼び出されます。

次に、必要に応じて、2番目のアクティビティから最初のアクティビティに戻るには、次を使用します。

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 に答える