안드로이드 intent를 이용하여, 두 개의 액티비티 간에 데이터 전송을 하고 싶습니다.

조회수 1166회

인텐트 기능을 이용하여 간단한 물건 계산기 어플을 만들고 있습니다

이 계산기는 총 2개의 액티비티가 사용되며, 액티비티1에서 물건 2개의 수량을 버튼(물건 당 1~4까지의 4개의 버튼)으로 입력하고, RESULT버튼을 누르면 액티비티2로 수량이 넘어갑니다.

액티비티2에서는 물건 2개의 가격을 그냥 EditText에 입력받고, CALCULATE 버튼을 누르면 액티비티1에서 받아온 수량을 가격과 곱하여 가격의 총합을 구해줍니다. 그리고 RETURN버튼을 누르면 액티비티1로 총합이 넘어가고 종료됩니다.

액티비티1로 돌아와서 액티비티2에서 받아온 총합을 출력하는 방식의 프로그램입니다..


이 프로그램을 구동하기 위해 startActivityForResult(), onActivityResult()를 사용하였는데, 잘 구동되지 않아서 여기에 질문드립니다 ㅠㅠ..

액티비티1에서 버튼을 눌러 수량을 입력받는것까진 잘 되는데, RESULT 버튼만 누르면 어플이 꺼집니다. 제가 어떤 점을 실수했는지 조언해주시면 정말 감사드리겠습니다.

(해결 후 소스 삭제) -> 인텐트 문제가 아닌, 엑티비티에서 변수를 선언하는 위치가 잘못되어 오류가 발생했던 것이였습니다..ㅠㅠ 단순한 문제였네요...

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 로그가 없어 정확한 문제 파악은 어렵지만

    Activity_2 에서 종료 시 호출하는 코드를

    Intent outIntent = new Intent();
    outIntent.putExtra("Totals", String.valueOf(totals));
    setResult(RESULT_OK,outIntent);
    finish();
    

    로 수정해보세요

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 인텐트 문제가 아닌 엑티비티에서 변수를 선언하는 위치가 잘못되어 오류가 발생했던 것이였습니다..ㅠㅠ 저의 초보적인 실수였네요 답변 감사드립니다!! 알 수 없는 사용자 2017.10.21 01:31

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)