永远不要实例化Activity
这样的
MainActivity test = new MainActivity();
使用 anIntent
来调用Activity
. 现在...
我正在从我的 MainActivity 调用一个 SubActivity,并且在该 SubActivity 中我必须在我的 MainActivity 中调用一个方法。
如果它是一个子Activity
,那就意味着它extends MainActivity
。如果是这种情况,那么您可以执行类似的操作
@Override
public returnType myMethod(params) // where returnType is int, boolean, void etc...
// and params are parameters the method takes (if any)
{
super.myMethod(params);
// other code if needed
}
如果 subActivity
没有extends MainActivity
,请详细说明您为什么需要这样做,我们可以帮助找到更好的方法。
编辑
通过阅读您上面的评论(“...在我的 MainActivity 中使用 onActivityResult 捕获它”),我认为您对它的startActivityForResult()
工作原理感到困惑,而且一开始可能会很棘手。如果你打电话
Intent i = new Intent(SecondActivity.this, FirstActivity.class);
// put extras if needed
starActivityForResult(i);
在你的第二个Activity
然后onActivityResult()
也将在你的第二个Activity
。FirstActivity
当你在那里打电话时,它将被调用setResult()
。