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

intent, putExtra 질문있습니다.

0 추천
과제를 진행하고 있는 대학생입니다.

MainActivity1에서 EditText로 받은 String을 MainActivity2에는 리스트뷰로 전송하여 타이틀 생성하고 그 타이틀을 클릭하면 MainActivity3에는 TextView로 전송하려합니다. 해결 방법이 있을까요?
Pass (190 포인트) 님이 2021년 12월 14일 질문
질문을 읽어보면 뭐를 하시려고 하는지 이해가 가질 않네요. 리스트가 보여지는 화면에서 데이터를 입력받는 화면을 띄워서 새로운 데이터가 입력되면 이걸 저장해서 리스트뷰에 추가하는 것 같기도 하고 아닌 것 같기도 하고... 리스트뷰에서 아이템을 하나 선택하면 수정화면에서 수정이 가능하도록 하는 것 같기도 하고 아닌 것 같기도 하고.... 암튼 좀 헷갈리네요.
좀 헷갈리네요.
우선 답변 달아주셔서 너무 감사합니다. 1번화면에 edittext로 받은 데이터를 2번화면에는 리스트뷰로 일부만 나타나게, 3번화면에는 textview로 나타나게 하는 법이 궁금합니다.

1개의 답변

0 추천
 
채택된 답변

MainActivity1에서 입력받은 EditText에 있는 텍스트를 Intent에 설정한 후 MainActivity2에 전달하세요.

MainActivity2에서는 getIntent()를 통해 MainActivity1에서 전달한  Intent에 들어있는 텍스트를 꺼내오세요. 그 다음 이 텍스트를 리스트어댑터에 전달하세요.

MainActivity2에서 MainActivity와 마찬가지 방식으로 MainActivity1에서 전달받은 텍스트를 Intent를 통해 MainActivity3로 전달하시면 됩니다.

과제를 하시고 계시므로 구체적인 메소드 등에 대해서는 개발자 문서, API 문서를 통해  찾아보시길 바랍니다. 구글에 

"android pass data between activities" 라고 검색하시면 엄청나게 많은 검색결과가 나옵니다. 그 중에 맘에 드는 자료를 몇개 살펴보시면 될 겁니다. 공부를 하셔야 하니까 구체적인 코드의 구현은 찾아보시면서 하나씩 처리하시길 바랍니다.

spark (227,830 포인트) 님이 2021년 12월 14일 답변
Pass님이 2021년 12월 15일 채택됨
답변 정말 감사합니다. 혹시 전송 버튼은 하나인데 Activity2, Activity3 둘 다 전송이 가능한 것인가요?
답은 안된다입니다. 그건 액티비티의 특성때문입니다. 안되는 것이기 때문에 과제에서 요구하는 내용은 그게 아닐 겁니다.

제 추측으로는 과제의 의도가 액티비티를 어떻게 띄우고 데이터를 액티비티 간에 어떻게 전달하고 제어하는지 공부하게 하려는 목적인듯 한데.

Developer Guide:
https://developer.android.com/guide/components/activities/intro-activities

API document:
https://developer.android.com/reference/android/app/Activity

Codelab:
https://developer.android.com/codelabs/basic-android-kotlin-training-activities-intents#0

먼저 위의 문서들을 차근 차근 다 읽어보시고 codelab도 해보시면 좋겠어요.(한글판도 있어요) 그냥 개인 앱을 뚝딱 만드는 경우라면 코드를 알려드릴 수 있겠지만, 과제의 경우 공부가 목적이니 처음에는 힘드시더라도 관련 문서를 다 정독해 보세요. 그 안에 답이 다 나옵니다.
...