来自其他活动的Android调用方法
问题描述:
如何从另一个活动调用方法? 在我的主要活动中,我有一个按钮,显示一个对话框来设置游戏的难度级别。 然后你点击开始游戏,开始一个包含所有游戏信息的视图的新活动。 我需要发送难度级别选择到其他活动,但似乎无法弄清楚如何。来自其他活动的Android调用方法
答
你可以把它与意图的演员:
Intent StartGame = new Intent(this, StartGame.class);
StartGame.putExtra("difficulty", difficultyLevel);
startActivity(StartGame);
然后在你的StartGame.class你可以retrive像这样(假设它是一个字符串):
Bundle extras = getIntent().getExtras();
if (extras != null) {
String difficulty= extras.getString("difficulty");
}
答
嗯,我不知道我的解决方案有多健全,但是我创建了一个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();
也许有点哈克,但它的作品..... 我欢迎一些的批评此;-)
哦,哇,谢谢! – semajhan 2010-12-13 23:05:25
我这样做的方式atm,但没有其他方式吗?因此,您可以直接从启动意图的活动中调用方法,而不是首先在目标活动中检查GetExtras(),然后调用方法。 – Vincent 2011-04-27 09:33:11