永远不要实例化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()。