Android startActivityForResult(),它是如何工作的?

Android startActivityForResult(),它是如何工作的?,android,view,android-activity,get,return-value,Android,View,Android Activity,Get,Return Value,我现在正在处理我的级别选择器活动,我想从我在MainGameView中选择的哪个级别获得结果,该级别由另一个活动运行。我该怎么做呢 这就是当您选择level 1时,Ive的作用: Button test1 = (Button)findViewById(R.id.test1); test1.setOnClickListener(new OnClickListener() { public void onClick(View v) { se

我现在正在处理我的级别选择器活动,我想从我在MainGameView中选择的哪个级别获得结果,该级别由另一个活动运行。我该怎么做呢

这就是当您选择level 1时,Ive的作用:

     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

游戏设置说明:菜单->关卡选择器->游戏。所以我需要将levelselector的结果输入到游戏中,这样它就知道该从哪个级别开始。

(更新的更正响应) 不要使用startActivityForResult()

请为活动A尝试以下操作:

意向开始=新意向(“尼尔森.快乐.活动.快乐活动”);
start.putExtra(“level”,getLevel())
起始触觉
完成();

然后在活动B中,执行以下操作:

Extras mBundle=getIntent().getExtras()
int level=mBundle.getInt(“level”);

(原件,回答不正确) 让我们调用活动A,即上面包含示例代码的活动。 让我们将活动B称为活动

活动A使用请求代码调用startActivityForResult()。 活动B启动,在退出之前,调用setResult(int代码)

当活动B完成时,A通过onActivityResult()方法返回顶部

实现一个onActivityResult()并查看得到的属性


仅供参考a中存在一种情况,即setResult(RESULT_OK)或setResult(RESULT_Cancelled)不会在ActivityResult()上触发(我记不起是什么情况)。

但我需要在活动a中设置结果,以便在活动B启动并调用我的gameView时,它知道在活动中选择了哪个级别,就像你想使用意图而不是startActivityForResult。让我澄清一下。在启动活动B的意图中,添加另一个名为“级别”的字段,并在活动B的onCreate()中,阅读中的意图。startActvityForResult()用于启动B,B做某事,然后B退出并将某事传递回A(有点像反向意图)。噢!现在我明白你在说什么了,我会试试这个。我更新了我的回复,以防你还有一些困惑。