2011-02-05 2 views
0

Activity의 setResult() 액세서 버전을 찾고 있습니다. setResult()에서 resultCode와 Intent가 사용 된 경우 getResult()가 번들을 반환한다고 가정 해 보겠습니다.finish() 호출 후 OnPause에서 작업 결과 얻기

이유는 기본적으로 resultCode를 RESULT_CANCELED : http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.3_r1/android/app/Activity.java#669으로 설정하여 액티비티를로드하므로 onPause 메서드에서 resultCode를 쿼리 할 수 ​​있기를 바랍니다. 이렇게하면 뒤로 버튼을 눌렀을 때 청취자를 저장할 수 있습니다.

답변

2

resultCode을 설정하고 onPasuse으로 다시 읽으면 멤버 변수에 저장할 수 없습니까?

public class MyActivity extends Activity { 
    private int result = RESULT_CANCELLED; 
    ... 
    // do some stuff 
    result = RESULT_OK; 
    setResult(result); 
    ... 
    @Override 
    protected void onPause() { 
     super.onPause(); 
     switch (result) { 
     case RESULT_OK: 
      // do stuff 
      break; 
     } 
    } 
} 

Intent과 비슷한 것을 사용할 수도 있습니다.

당신은 onPauseActivity 당신이 결과를 설정하고 finish()라고하지 바로 그 때, 전경에 더 이상 언제든지 호출 될 것을 명심해야합니다.

+0

다른 멤버 변수를 사용하여 추적하지 않아도됩니다. Android 소스 코드를 자세히 살펴본 후에는 이것이 유일한 방법 일 수 있습니다. –

관련 문제