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

수정하기 페이지는 따로 두는건가요?

0 추천
지금 제가 글쓰는 것과같이 글쓰기 기능이 있다고 가정하면, 내용을 작성하고 저장을 할 수있잖아요?

이후에 글이 올라가고.

그 글은 수정하기 버튼을 눌러서 수정을 할 수 있구요.

그런데 글을 새로 쓸때나 수정할때나 같은 UI화면인데

이 화면은에서는 새글을 쓰는건지 수정을 하는건지 어떻게 구분을 하나요?

수정버튼으로 와서 기존 데이터를 불러와야할지 새글쓰기 버튼으로 와서 백지상태로 보여줘야할지

그걸 모르겠습니다.

새글이나 수정이 같은 UI지만 다른 액티비티나 프래그먼트라면

새글쓸때면 새글쓰기 액티비티나 프래그먼트로 가서 데이터를 채우면 될것이고

수정할떄면 수정하기 액티비티나 프래그먼트로 가서 기존 데이터를 로컬이든 서버든 불러오면될거같은데요

 

만약 이 두개가 하나의 액티비티 또는 프래그먼트라면

해당화면에서 수정하기와 새글쓰기로 온것은 어떻게 구분해야하나요?

따로 boolean 값을 둬서 새글쓰기버튼을 누르면 true를 전달해서 백지상태로 페이지를 시작하고

수정하기 버튼을 누르면 false를 전달해서 해당 글에 대한 데이터를 불러온다던지

이렇게해야하나요?

 

어떻게 구분하는것이 가장좋을까요?
codeslave (3,940 포인트) 님이 2022년 8월 26일 질문

2개의 답변

0 추천
화면이 동일하다면 같이 사용하셔도 됩니다. 저는 보통 그렇게 사용합니다.이게 나중에 코드를 한군데만 확인하면 되니까 더 좋더라구요.
제일 간단한 방법은 추가인지 수정인지 구분값을 넘기는 갑니다. 리스트에서 특정 아이템을 누른 경우는 id깉은 고유값이 존재할테니 이걸 넘기세요
 빋는 쪽에서는 이값을 받으면 수정모드인거죠. 그리고 이 키값을 가지고 데이터를 가져와서 보여주시면 되구요.
spark (227,530 포인트) 님이 2022년 8월 26일 답변
spark님이 2022년 8월 26일 수정
0 추천
저는 수정항목이 많지 않으면 그냥 해당 페이지에서 수정할 수 있도록 작업을 합니다.

하지만 수정항목이 많다면 따로 화면을 더 두는 경우도 있습니다.

이 같은 경우 수정 페이지를 하나 만드시고 수정을 누르면 해당 수정 페이지로 내용이 넘어갑니다.(내용이 넘어갈 때는 intent로 넘기거나 따로 데이터 용 model class를 만들어 둡니다.) 그리고 수정할 수 있게 되는거죠. 그리고 저장을 하면 수정 페이지 엑티비티는 finish() 시키고 이전 엑티비티로 돌아가는데 이때 다시 그리는 단계가 아닌 다시 화면을 만드는 onCreate 단계를 보통 실행합니다.

 

그리고 이 화면이 수정인지 새로 작성인지 어떻게 넘기느냐고 질문을 하셨는데 말씀하신데로 true false도 괜찮지만 다른 개발자가 봤을 때는 바로 눈에 안들어 올 수 있습니다. 그렇기 때문에 저 같은 경우에는 enum 클래스를 하나 만들어서 상태 값을 만들어 둡니다. 위와 같은 경우면 새글 쓰기 상태, 수정 상태, 아무 작업이 없는 상태 이렇게 3개가 들어갈 수 있겠네요.
키리링 (840 포인트) 님이 2022년 8월 26일 답변
...