【问题标题】:Call method on activity load, Android [closed]活动负载的调用方法,Android [关闭]
【发布时间】:2013-09-13 06:33:17
【问题描述】:

我想在活动加载后立即调用一个方法。该方法是公共无效的。任何帮助将不胜感激

【问题讨论】:

  • 打电话。有什么问题?
  • @codeMagic 这是怎么做到的?
  • 这取决于你想要什么。在UI 加载后,一旦Activity 被创建,等等......?您可以在 `onCreate()` 中调用该方法
  • 通过编辑您的问题向我们展示您的尝试,并在它崩溃时提供 logcat。还要记住,在尝试在您的方法或其他任何地方访问任何Views 之前,您需要通过调用setContentView(R.layout.someLayout);inflatelayout

标签: android methods call


【解决方案1】:

您可以查看活动时间线Here,并查看 startActivity() 函数Here

希望这两个能根据您的情况引导您朝着正确的方向前进。 祝你好运。

【讨论】:

    【解决方案2】:

    您必须在onCreate() 方法中调用该方法。 onCreate() 方法在首次创建活动时被调用。查看 Activity 生命周期:

    【讨论】:

    • 感谢您的帮助。但是,当我在 onCreate 方法上调用该方法,然后在我的手机上打开应用程序时,应用程序会立即崩溃。该方法本身很好,当我通过按钮启动该方法时,它按预期工作。因此,在加载时调用它有问题。我需要什么特殊参数吗?
    • @user2762277 然后发布一些代码和错误的堆栈跟踪
    • 所有这些方法都会在活动出现在屏幕上之后触发。我需要一个在活动启动和加载之前的方法。
    【解决方案3】:

    可以使用以下方法

    您可以在 Activity 启动时在其中任何一个之间调用您的方法,所有这些都被调用,因为每次活动恢复时都会调用 onResume,这在 ActivityLifeCycle Diagram 中有很好的解释

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);   
    
    }
    
    
    @Override
    protected void onStart()
    {   
        // TODO Auto-generated method stub
        super.onStart();
    }
    
    
    @Override
    protected void onResume()
    {   
        // TODO Auto-generated method stub
        super.onResume();
    }
    

    您可以通过here了解更多信息

    您可以通过ActivityLifeCycle了解更多信息

    或关注此活动生命周期

    【讨论】:

    • 除了那些属于 Activity 生命周期的方法之外,它在哪里调用方法?
    • 成功了,谢谢
    • @codeMagic 他说他想在活动加载时调用方法,所有这三个在活动加载时调用
    • 所有这些方法都会在活动出现在屏幕上之后触发。我需要一个在活动启动和加载之前的方法。
    猜你喜欢
    • 2012-03-28
    • 1970-01-01
    • 2016-01-08
    • 2021-04-12
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多