티스토리 뷰
개발
[RN] 리액트 네이티브 - 안드로이드 MainApplication cannot be cast to android.app.Activity 에러 해결 방법
woody._.k 2021. 11. 4. 21:46React Native를 사용하여 모바일 앱을 개발 중에, 외부 라이브러리를 사용할 일이 있어서 안드로이드 React Native Module을 만들 던 중 에러가 발생하였다.
외부 라이브러리에서 자체적인 UI를 띄우기 위해 Activity 객체를 필요로 하였다. 해당 파라미터 위치에 reactApplicationContext.baseContext와 getReactApplicationContext()를 캐스팅해 보았지만, MainApplication cannot be cast to android.app.Activity라는 에러를 만났다.
해결방안
리액트 네이티브에서는 MainActivity 단 하나의 Activity가 있으며, 다음과 같이 MainActivity에서 static 함수를 만들어 activity를 반환해 주어야 한다.
public class MainActivity extends ReactActivity {
private static Activity mCurrentActivity = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mCurrentActivity = this;
...
}
...
public static Activity getActivity(){
Activity activity = new Activity();
activity = mCurrentActivity;
return activity;
}
}
리액트 네이티브 모듈 안에서는 MainActivity.getActivity()라고 호출하면 Activity를 정상적으로 가져올 수 있다.
[ 참고 자료 ]
'개발' 카테고리의 다른 글
[JS] 바닐라 자바스크립트로 ToDo-List 만들기 - (5) 전체 완료 처리 및 남은 할 일 개수 (0) | 2021.11.06 |
---|---|
[JS] 바닐라 자바스크립트로 ToDo-List 만들기 - (4) 할 일 수정하기 (2) | 2021.11.05 |
[JS] 바닐라 자바스크립트로 ToDo-List 만들기 - (3) 할일 목록에서 할 일 삭제, 완료 처리 구현 (1) | 2021.11.04 |
[RN] 리액트 네이티브 - Android 이미지 resizing 문제 해결 (0) | 2021.11.04 |
[JS] 바닐라 자바스크립트로 ToDo-List 만들기 - (2) 할 일 추가하기 (2) | 2021.11.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ReacNative
- rn
- 리액트 네이티브 모듈
- 비밀번호 유효성 검사
- 리액트 네이티브
- Android
- C++ string
- HTML
- web
- CSS
- JavaScript
- TODOLIST
- VanilaJS
- 자바스크립트
- Servlet
- sevlet
- react-native-swipe-list-view
- 바닐라자바스크립트
- 투두리스트
- loading bar
- servlet 생명주기
- string
- JSP
- 개발
- C++
- 바닐라 자바스크립트
- Java
- string 생성
- JSP 내장객체
- ReactNative
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함