startActivityForResult()
과 getActivity().startActivityForResult()
의 차이점은 무엇인가요? Fragment에서 호출 할 때 onActivityForResult()
의 동작 차이는 무엇입니까?startActivityForResult()와 getActivity(). 안드로이드 프래그먼트의 startActivityForResult()
답변
startActivityForResult()
가에서 처리해야 fragment
의 onActivityForResult()
getActivity().startActivityForResult()
에서 처리해야 activity
의 기본적 onActivityForResult()
:
당신이 fragment
에있는 경우 및 fragment
에서 결과를 처리하려면 onActivityForResult()
을 사용해야합니다. 당신이 조각의 activity
에서 처리 할 경우 약간의 차이가 getActivity()이다 getActivity.startActivityForResult()
활동 내에 startActivityForResult()
을 사용하고 조각 내에 getActivity().startActivityForResult()
을 사용할 수 있습니다.
즉석 활동의 컨텍스트를 얻기 위해 우리는 getActiviy()
으로 시작합니다. 우리가 다음 자세한 내용에 넣으면 당신은 당신의 조각에서 startActivityForResult()
를 호출 할 경우
대신에, 우리는, Actiivty :
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
for (Fragment fragment : getChildFragmentManager().getFragments()) {
fragment.onActivityResult(requestCode, resultCode, data);
}
}
에서 아래)
를 특정 조각의 onActivityResult를을 (호출 할 수 있습니다 requestCode는 Fragment를 소유 한 활동에 의해 변경됩니다. 당신이 당신의 활동에 올바른의 resultCode를 얻고 싶다면
그래서, 당신은 다음과 같이 시도 할 수 있습니다 :
이는 사용하지 마십시오 : (이 경우에) :
startActivityForResult(intent, 1);
사용 :
getActivity().startActivityForResult(intent, 1);
희망이 .. ..!
실제로'getActivity()'를 사용하지 않고 프래그먼트에서'startActivityForResult()'를 사용했습니다. 그래서 행동상의 차이점을 묻습니다. –
@j.elmer를 참조하십시오. 하지만 약간의 차이점은 Activity의 Context를 얻기 위해 fragment에서만 getActivity(). startActivityForResult()를 사용할 수 있다는 것입니다. –
Fragment에있는 별도의 startActivityForResult 메소드의 요점은 Activity의 onActivityResult에있는 모든 Fragment를 거치지 않아도된다는 것입니다. 그것은 정확히 잘못된 행동입니다. – ianhanniballake
차이 ... 하지만를 사용 rwise.에 startActivityForResult()는 조각에서 호출 할 수있는 :)
을startActivityForResult 조각 모음에서 startActivityForResult 해당 컨테이너 활동. 조각 용 : -
조각을 포함하는 활동에서 startActivityForResult (Intent, int)를 호출하십시오. 직접 몇 가지 특정 변경 요청에 따라 만들 수 있습니다 조각에서 사용할 때 반면
내가 최근에 수정 요청 코드 몇 가지 문제에 직면 한 원인은, onActivityResult를()에 요청 코드를 수정 얻을 것이다 않는 암호. This Thread을 살펴볼 수 있습니다.
Activity
으로 지정되어있는 방법은 이므로 Activity
으로 전화해야합니다. 당신이 YourActivity
에서 호출하면
그래서, 이미 같은 Activity
의 기준이 있습니다
YourActivity extends AppCompatActivity (which is subclass of `Activity`)
을하지만 YourFragment
에서 호출하는 경우이 경우에는 될 것이다, Activity
참조를 지정해야 YourFragment
을 포함한 활동; 따라서 우리는 getActivity()
을 사용한 다음 트리거를 사용합니다. startActivityForResult()
"startActivityForResult()"는 활동 클래스에서 작동합니다. Activity 클래스에있을 때이 메서드를 직접 사용할 수 있습니다. 프래그먼트가있을 때, 프래그먼트가 액티비티에서 생성되기 때문에 먼저 프래그먼트를 기반으로 프래그먼트를 생성해야합니다. 의미 :
//in fragment class:
Activity activity = this.getActivity();
는 이제 활동을하고 난 말했다, 당신은 당신이 조각에서 얻을 활동 "에 startActivityForResult()"를 사용할 수 있습니다.
activity.startActivityForResult();
희망이 도움이됩니다.
- 1. 안드로이드 :의 getView에서에 startActivityForResult와 onActivityResult를() 메소드
- 2. startActivityForResult LiveWallpaper 서비스에서 안드로이드
- 3. startActivityForResult와 관련된 문제
- 4. 안드로이드 프래그먼트의 TextView에 대해 OnClickListener가 작동하지 않습니다.
- 5. 조각 (안드로이드) 테스트, getActivity() 호출
- 6. 특정 프래그먼트의 안드로이드 앱 열기
- 7. 안드로이드 | StartActivityForResult 아무 것도하지 않습니다
- 8. 안드로이드 프래그먼트의 타이머 안의 Null 포인터 예외
- 9. startActivityForResult();
- 10. 안드로이드 DialogFragment가 getActivity()에서 ClasscastExeption을 던졌습니다.
- 11. 프래그먼트의 작업에서 호출하는 메소드
- 12. mysql 데이터를 안드로이드 프래그먼트의 listView로 가져옵니다.
- 13. 안드로이드 : 프래그먼트의 마진을 프로그래밍 방식으로 설정하는 방법?
- 14. viewpager 프래그먼트의 상태를 유지합니다.
- 15. 프래그먼트의 애니메이션 제거 .finish()
- 16. 프래그먼트의 컨텍스트를 인터페이스를 통해 프래그먼트의 메소드를 실행하는 클래스에 전달합니다.
- 17. 액세스 getActivity()
- 18. Android : 중첩 tabactivities이 startActivityForResult와 함께 작동하지 않습니다.
- 19. StartActivityForResult 서비스에서
- 20. (에 startActivityForResult)
- 21. Google지도 startActivityForResult
- 22. StartActivityForResult - 질문
- 23. 여러 startActivityForResult()
- 24. ActivityGroup의 startActivityForResult?
- 25. Android. 프래그먼트의 버튼에서 프래그먼트의 메소드를 호출하여 프래그먼트를 닫으시겠습니까?
- 26. getActivity(). startActivity(); 호출의 차이점입니다. 및 startActivity(); 조각
- 27. startActivityForResult From Fragment Not Working
- 28. iOS : Android의 startActivityForResult와 같은 동작을 얻는 방법
- 29. getActivity == null, 시도했다 onattach
- 30. Android 서비스를 통한 getActivity()
https://developer.android.com/reference/android/app/Activity.html#onActivityResult(int, int, android.content.Intent) 및 https://developer.android.com/training/basics/ intents/result.html –
Android 개발 관련 문서가 있다는 것을 알고 계십니까? –