当前位置: 首页 > 面试题库 >

如何从其他活动中调用主要活动中的方法?

周高畅
2023-03-14
问题内容

我想从其他活动中调用主要活动中的公共方法。我怎样才能做到这一点?

class MainActivity extends Activity {
    public void myMethod() {}
}

class MyActivity extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // How can I call myMethod() in MainActivity?
    }
}

问题答案:

这取决于。

  1. 在这种情况下,如果您只想使用某些共享功能(例如执行一些计算的代码)。

我建议将此共享功能移至某些独立的类,然后从那里进行调用。

  1. 在这种情况下,如果您想调用MainActivity,则MainActivity使用MainActivity UI进行了某些操作,则您必须使用Intent(http://developer.android.com/reference/android/content/Intent.html),因为MainActivity应该是首先恢复,只有在此之后它才能使用UI进行操作。

在这种情况下,您可能需要向意图添加一些额外的附加功能,这些附加附加功能将由MainActivity代码(在onCreate或onResume中)进行解析调用适当的方法。



 类似资料:
  • 我有3个活动A、B和C。A导致B,B导致C。我希望能够在A和B之间来回移动,但我希望在C开始后完成A和B。我知道如何在通过意图启动C时关闭B,但在启动C时如何关闭A?

  • 问题内容: 有人知道如何从其他活动中关闭一个活动吗?例如:我有3个活动(活动A,B和C),并且可以从活动C中关闭活动A。我的活动结构是活动A->活动B->活动C如何从中关闭活动A活动C? 我曾尝试此代码: 但是该代码只能关闭活动B的活动A,而不能直接关闭活动C的活动A。 有谁知道直接从其他活动关闭活动?谢谢.. 问题答案:

  • 在我的程序中,我有一个当应用程序打开时启动的活动。如果我再打开几个活动,我怎么能回到主活动?在意图过滤器中,活动的名称是“android.intent.action.MAIN”,它不允许我在上面调用start Active()。我该怎么办?

  • 我在片段类中有方法。我想从主活动中调用该方法,但不想使用FragmentById(或)FragmentByTag。 我的碎片方法: 如何在不使用FragmentById(或)FragmentByTag的情况下从主活动调用上述方法?

  • 我想使用下面另一个活动简单代码示例中的活动上下文,有什么想法吗? 谢谢

  • 我的代码中有两个基本类:Airport和Flight(出发和到达)。机场由抵港飞行物清单和离港飞行物清单组成。在我的主要活动中,我持有一个airport对象列表,并在列表视图中表示它们。轻触列表视图对象,我启动了一个新的活动,用于显示该airport对象的所有到达航班(ActivityArrivalFlights),其中我将airport对象作为字段保存。在本练习中,有一个将到达航班添加到同一对象