我正在处理我的关卡选择器活动,我希望从我在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)中做些什么来获得结果吗?现在它正在返回0
阐述游戏的设置方式:菜单 - > levelselector - >游戏。所以我需要将levelselector的结果导入到游戏中,因此它知道要从什么级别开始。
答案 0 :(得分: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");
(原创,不正确的回复) 让调用活动一个包含上面示例代码的活动。 让调用活动B成为你称之为HAPPACTIVITY的那个。
活动A使用请求代码调用startActivityForResult()。 活动B启动,在退出之前,您调用setResult(int code)。
当活动B结束时,A通过onActivityResult()方法返回顶部。
实现onActivityResult()并查看您获得的属性。
FYI有一个条件,其中setResult(RESULT_OK)或setResult(RESULT_CANCELED)不会触发A中的onActivityResult()(我不记得是什么情况)。