2014-09-03 7 views
1

onCreate 내에서 호출 할 메서드가 있고 그 메서드가 완료되면 두 번째 메서드가 호출됩니다. 이것은 쉬운 방법이 있다면 알려주는 것이 최선의 방법이 아닐 수도 있습니다!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 

} 
+0

게시자가 특별한 이유가 있습니까? 또한 문제는 무엇입니까? – codeMagic

+0

firstMethod 및 secondMethod에서 이러한 메소드가 반환하거나 정확히 수행 할 수있는 것을 설명 할 수 있다고 말할 때 둘 다 무효화되는 것입니까? –

답변

2

그것은 똑 바른 앞으로 과정이다 : 완벽하게 작동하여 firstMethod()가 포함 된 모든 스레딩을 가지고 있지 않은 것을 확인하기 위해서이를 위해

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(); 
} 

. @codeMagic에서 코멘트에서

UPDATE : firstMethod에서

호 제 2 방법()()

+0

'firstMethod()'에서'secondMethod()'를 호출하지 않겠습니까? – codeMagic

+0

OP는 첫 번째 방법을 실행 한 후에 만 ​​두 번째 방법을 실행해야한다고 말했습니다. –

+0

@codeMagic 나는 똑같은 것을 확신합니다. 스레드가 없으면 firstMethod()가 실행되고 secondMethod()가 실행됩니다. 귀하의 솔루션도 유효한 답변이므로 답변으로 게시하지 않으시겠습니까? \ –

0

firstMethod가 프로세스 집약적 인 작업, 같은 읽기 파일 또는 HTTP 요청의 경우 , 나는 RxJava Observable (AsyncTask는 장기 실행 작업에 대해 더 이상 제안되지 않음)을 읽고 제안합니다.

결과를 기반으로 작업을 수행 할 때 유용합니다. 또 다른 과제.

Matthias Käppler의 RxJava 튜토리얼은 link입니다.

+0

"AsyncTask는 더 이상 제안되지 않습니다."이 주장을 뒷받침하는 참조가 있습니까? –

+0

AsyncTask onPostExecute가 UI를 업데이트하려고 시도하지만 UI (컨텍스트)가 더 이상 존재하지 않는 경우 (사용자가 멀리 탐색 한 경우) 일반적인 문제입니다. 필자가 제공 한 링크에는 AsyncTasks와 관련된 문제점을 설명하는 절이 있습니다. – PrivatMamtora

관련 문제