来自其他活动的Android通话方法

时间:2010-12-13 22:39:36

标签: java android

如何从不同的活动中调用方法? 在我的主要活动中,我有一个按钮,显示一个对话框来设置游戏的难度级别。 然后单击开始游戏,开始一个包含所有游戏信息视图的新活动。 我需要将选择的难度级别发送到其他活动,但似乎无法弄清楚如何。

2 个答案:

答案 0 :(得分:6)

你可以把它放在额外的意图:

Intent StartGame = new Intent(this, StartGame.class);
StartGame.putExtra("difficulty", difficultyLevel);
startActivity(StartGame);

然后在你的StartGame.class中你可以像这样(它假设它是一个字符串)来反复它:

Bundle extras = getIntent().getExtras();
if (extras != null) {
    String difficulty= extras.getString("difficulty");
}

答案 1 :(得分:6)

嗯,我不知道我的解决方案有多健全,但我创建了一个myApplication类,它将Application类子类化。

这包含我想要调用的活动的引用

import android.app.Application;

public class myApplication extends Application {
    public PostAndViewActivity pv;
}

当PostAndViewActivity调用oncreate时,将pv设置为指向自身。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ((myApplication) getApplication()).pv = this;

然后,当我想调用我想要的方法时,我只使用这样的代码:

((myApplication) getApplication()).pv.refreshYourself();

也许有点hacky但它​​有效..... 我欢迎对此提出一些批评; - )