마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

intent를 통한 액티비티전환 질문

0 추천
A 파일 
public void startPictureActivity() {
Intent intent = new Intent(Main_View.mmContext, Picture.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
}


B 파일 

static Main_View MainView = new Main_View();public void startPicture(){ MainView.startPictureActivity();
}



B에서 A를 호출해 Intent를 통한 카메라 액티비티를 실행하고자합니다.


그런데 이렇게 호출했을때 에러메시지가 뜨네요...


12-16 01:01:05.905  12861-12861/com.example E/AndroidRuntime﹕ FATAL EXCEPTION: main

    java.lang.NullPointerException

            at android.app.Activity.startActivityForResult(Activity.java:3190)

            at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)

            at android.app.Activity.startActivity(Activity.java:3297)

            at com.example.Main_View.startPictureActivity(Main_View.java:3748)

            at com.example.System_ListItemManager.startPicture(System_ListItemManager.java:99)



A 라는 파일 내에서 startPictureActivity 를 호출하면 문제없이 카메라가 실행되는데

B 라는 파일에서 호출하면 문제가 되네요...
kohler (460 포인트) 님이 2015년 12월 16일 질문
코드가 부족해서 잘은 모르겠으나
MainView.startPictureActivity(); 요 메서드가 Activity 실행하는거라면
메소드 안에서 Intent를 잘 넘기고 있나요?

널포인트 에러면 코드상의 문제가 확실합니다..
오류 라인 잘 따라가보면 될거같은데요

그리고 Main_View 가 커스텀뷰 같은데,, 뷰를 Static으로 선언하는건
굉장히 위험한 것으로 알고 있습니다만.

1개의 답변

0 추천
지금 떠있는 화면은 B인데 Context나, Activity를 넘기지도 않고 A화면에서 액션을 하려고해서 나는것 같은데요..
캬옹이 (37,920 포인트) 님이 2015년 12월 16일 답변
context는 a에서 oncreate시 지정한 정보를 가지고있습니다
그리고 b는 보이는 화면이 아니고 코드관리를 편하게하고자 분할한 파일입니다 a에서 컨트롤시 b로 넘어가고 처리 후 a의 함수를 호출하는데 그부분이 잘 안대네요..
...