최지웅
143
2020-09-16 20:51:55
4
72

[Andoird] Intent관련 질문


게시판 작성 과정입니다.

1.게시판 작성화면에 들어간다.(board_write_activity)

2.카테고리 버튼을 클릭하여 카테고리 화면으로 넘어간다.(category_activity)

3.카테고리에서 선택한 데이터를 들고 다시 돌아간다.(category->board_write)


이경우 카테고리에서 startactivity를 사용하면 게시판 작성에서 사용하던 데이터가 날라가는

문제가 생깁니다.

해결 방법이 있을까요? ..

0
  • 답변 4

  • Rel
    1k
    2020-09-16 21:07:15
    카테고리 액티비티에서 카테고리 선택 시 이전 액티비티로 돌아간다는 말씀 맞으신가요?

    https://www.charlezz.com/?p=844

    맞다면 이거 참고하심 댈거같아용 
  • 최지웅
    143
    2020-09-16 21:36:48

    저도 확인해봤었는데 startforresult를 사용하기 위해선 두개의 액티비티간 통신이 필요한거 같은데

    저는 카테고리 선택이 두개의 액티비티를 포함합니다.


    1.board_write

    2.category(1),category(2) 


    즉 3개의 액티비티라서 다른 방법이 필요할것 같습니다. ㅠㅠ




  • 우드로이드
    364
    2020-09-17 00:13:29

    board_write -> cate1 -> cate2 

    순으로 액티비티가 실행된다는 말씀이시죠?


    그렇다면 이렇게 하시면 될것같아요


    board_write ---(startActivityForResult)---> cate1 

    해서 일단 category1 을 부르구요

    category1 에서 선택이 끝나면 다시 category2 를 부르시는 거죠?


    category1 ---(startActivityForResult) --> category2


    를 마찬가지로 부릅니다


    이제 category2 에서 선택이 끝나면 다시 역으로


    category2 ---(setResult(data))---> category1 


    으로 보내주시구요

    category1 은 다시 category2 에서 데이터를 받은다음 


    category2 ---(setResult(category1Data + category2Data))--> board_write


    로 최종 결과를 board_write 로 전달해 주시면 될것같습니다~




    앱 구조를 MVVM 이나, category1, 2 를 하나의 액티비티로 만들고 fragment 로 관리하는 구조로 가시면 더 깔끔해질것같아요~ 

  • 우드로이드
    364
    2020-09-17 00:15:28

    참 그리고 board_write activity 에서 다른 액티비티를 호출하면 데이터가 날아간다는건 

    activity 를 파괴(finish) 하지 않는 이상 그러지 않을텐데 잘 이해가 되지 않네요..

    코드를 볼수 있으면 좀더 명확하게 답을 드릴수있을것같아요

  • 로그인을 하시면 답변 을 등록할 수 있습니다.