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

다른 액티비티에서 인텐트를 넘겨받았는지 확인하는 방법

+1 추천

다른 액티비티에서 인텐트를 넘겨받았는지 확인하는 방법이 있을까요?

 

어느 엑티비티의 파일 이름을을 누르면, 파일 이름을 인텐트로 넘겨주고

메인액티비티에서는 인텐트를 받고, 자동으로 파일 이름을 출력해주고 싶은데

자동으로 출력하는 부분이 안되네요. 이부분이 해결된다면

여러가지 부분이 해결될텐데 어렵네요.

Intent intent = new Intent(getApplicationContext(), mrActivity.class);
                    intent.putExtra("textName", "null");                                                      
                    startActivityForResult(intent, 0);          

위에는 메인에서 인텐트를 넘겨주는 부분

Intent outIntent = new Intent(getApplicationContext(), MainActivity.class);
            outIntent.putExtra("textName", strItem);
            setResult(RESULT_OK, outIntent);

위에는 다른 액티비티에서 넘겨주는 부분

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            TextName = data.getStringExtra("textName");
        }
    }

위에는 메인 액티비티에서 인텐트 받는 부분 입니다.

 

인텐트가 변했을 경우를 감지하면 좋은데.. 어렵네요.

패기백배개발자 (700 포인트) 님이 2015년 8월 19일 질문

1개의 답변

+1 추천
자바에 대한 기본 개념이 조금 필요하실 것 같습니다.

1. 어떤 값을 넘겨주고 다시 돌려받는(?) 종류의 함수 로직을 구성하실 때 가장 편한 방법은

해당 함수의 CallBack 함수를 만드는 것이지요.

인텐트를 넘겨주고 나서 받는 쪽에서 인텐트를 받은 것에 대한 결과 호출용 함수를 다시 호출하면 됩니다.

2/ 넘겨주는 곳이 추상 클래스이고 넘겨 받는 곳이 이 추상 클래스를 상속한 곳이라면 이벤트 리스너 방식으로도 구현 가능하지만

로직 구성이 다소 헷갈릴 수 있으므로..

3. 다른 방법은 1번과 유사하나 받은 곳에서 준 녀석 클래스에 있는 Handler에 값을 넘겨주는 호출 방식을 사용하셔도 됩니다.
익명사용자 님이 2015년 8월 19일 답변
감사 합니다. 자바를 좀더 깊게 공부해야겠네요.
1번 방법처럼, 코드 한줄 넣으니 딱 됐습니다!
...