0

現在、レベル セレクター アクティビティに取り組んでおり、別のアクティビティによって実行される MainGameView で選択したレベルから結果を取得したいと考えています。どうすればこれを行うことができますか?

これは、レベル 1 を選択したときのアイブの目的です。

     Button test1 = (Button)findViewById(R.id.test1);
     test1.setOnClickListener(new OnClickListener() {

       public void onClick(View v) {
            setLevel(1);
            Intent start = new Intent("nielsen.happy.activities.HAPPYACTIVITY");
            startActivityForResult(start, getLevel());
            finish();
        }
    });

しかし、私はここからどこへ行くのですか?選択したレベルに応じてビットマップやその他の値を変更できるように、この値をビューに取得するにはどうすればよいですか? "HappyActivity"結果を得るために (MainGameAcitvity)で何かする必要がありますか? cus今、戻ってきた0

ゲームのセットアップ方法の説明: メニュー -> レベルセレクター -> ゲーム。したがって、レベルセレクターからゲームに結果を取得する必要があるため、開始するレベルを認識できます。

4

1 に答える 1

1

(修正された応答を更新) startActivityForResult() を使用しないでください。

アクティビティ A でこれを試してください。
Intent start = new Intent("nielsen.happy.activities.HAPPYACTIVITY"); start.putExtra("level", getLevel());
startActivity(start);
finish();

次に、アクティビティ B で次の操作を行います。
Extras mBundle = getIntent().getExtras();
int level = mBundle.getInt("level");

(元の、誤った応答) 上記のサンプル コードを格納するアクティビティ A を呼び出します。アクティビティ B を HAPPACTIVITY と呼びましょう。

アクティビティ A は、リクエスト コードを使用して startActivityForResult() を呼び出します。アクティビティ B が起動し、終了する前に setResult(int code) を呼び出します。

アクティビティ B が終了すると、メソッド onActivityResult() を介して A がトップに戻ります。

onActivityResult() を実装して、取得する属性を確認します。

参考までに、 setResult(RESULT_OK) または setResult(RESULT_CANCELED) が A で onActivityResult() をトリガーしない条件があります (ケースが何であるか思い出せません)。

于 2012-09-09T16:54:37.513 に答える