Java 如何从onCreate中执行/调用方法?

Java 如何从onCreate中执行/调用方法?,java,android,methods,oncreate,Java,Android,Methods,Oncreate,我想在onCreate中调用一个方法,然后在该方法完成时调用第二个方法。 这可能不是最好的方法,所以如果有更简单的方法,请告诉我 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fragment_view_my_tickets); //I want to execute firstMethod from

我想在onCreate中调用一个方法,然后在该方法完成时调用第二个方法。 这可能不是最好的方法,所以如果有更简单的方法,请告诉我

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_view_my_tickets); 
//I want to execute firstMethod from in here
}


public void firstMethod(){

     //code I want to execute on create
  //Only when this is finished- I want to execute secondMethod


 }

public void secondMethod(){

//only executed when firstMethod is finished

}

这是一个直接的过程:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_view_my_tickets); 
//I want to execute firstMethod from in here
firstMethod();
secondMethod();
}
要使其完美工作,请确保firstMethod()不涉及任何线程

更新@codeMagic的评论

从firstMethod()调用secondMethod()


如果firstMethod是一个流程密集型任务,比如读取文件或http请求,那么我建议阅读RxJava Observable(对于长时间运行的操作,不再建议使用AsyncTask)

当您需要根据另一个任务的结果执行某个任务时,此选项非常有用


这里是Matthias Käppler的RxJava教程的一部分。

他们公开发表的具体原因是什么?还有,问题是什么?当你说你的firstMethod和secondMethod时,你能描述一下这些方法将返回什么或具体执行什么吗?你确定它们都返回void吗?你不从
firstMethod()调用
secondMethod()
?OP说只有在执行第一个方法后,才应该执行第二个方法。@codeMagic我确信这是一样的。如果没有线程,则将执行第一个firstMethod(),然后执行第二个Method()。您的解决方案也是有效的,为什么不将其作为答案发布?\“不再建议使用AsyncTask”是否有任何引用支持此声明?当AsyncTask onPostExecute尝试更新UI,但UI(上下文)不再存在(用户导航离开)时,这是一个常见问题。在我提供的链接中,有一节概述了异步任务的问题