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

액티비티간 통신 Id값, String값 전달

0 추천

카드가 있고 카드밑에 별점과 수정이라는 버튼이 있습니다. 여기서 수정 버튼을 누르면 별점 수정 팝업이 뜨고

팝업에서 별점을 드래그해서 수정할 수 있습니다. 수정하고 팝업에 수정완료 버튼을 클릭하면 수정된 결과가 기존 카드 밑에 별점에 수정사항이 반영되어서 만약에 팝업에서 별점 4개로 수정시 4개의 별모양이 보이게 되야하는데요..

여기서 중요한 점은 카드 1, 카드 2에 컨텐츠는 각각 다릅니다. 그래서 그 카드 ID를 뽑아서 수정버튼? 누를시 팝업이 뜰때 누른 컨텐츠가 떠야하는데 이거 구현하려면 어떤식으로 해야할지 감이 안잡힙니다.. 비슷한 예제나 팁좀 주시면 감사하겠습니다.

이제는 해야할 때 (710 포인트) 님이 2015년 2월 2일 질문
이제는 해야할 때님이 2015년 2월 2일 reshown

1개의 답변

0 추천

수정 버튼을 눌렀을때

Intent intent = new Intent(myContext, 새로뛰울Activity.Class);

intent.putExtra("id", 컨텐츠 id);

intent.putExtra("starCount", 별점 갯수);

(동일한 방식으로 새로 뜨울 activity에 전달할 값 작성)

.

startActivityForResult(intent, 0);  //뒤에 정수는 requestCode

 

이렇게 하시고,, 별점 수정할 Actvity의 onCreate에서

Intent intent = getIntent();

mConId = intent.getStringExtra("id");

int starCount = getIntExtra("starCount" , 0);

이렇게 받으시면 됩니다.

 

별점 수정하고 확인 버튼을 누를때

Intent intent = new Intent();

intent.putExtra("id", mConId );

intent.putExtra("starCount", 수정한 별점 갯수);

setResult(Activity.RESULT_OK, intent);

this.finish();

하시고

 

다시 원래 Activity에서 

@Override

protected void (int requestCode, int resultCode, Intent intent)  {

if(requestCode = 0) // 별점 수정 activity 호출할때 넣엇던 requestCode

{

    if(resultCode == Activity.RESULT_OK)

    {

         String id = intent.getStringExtra("id");

          int starCount = getIntExtra("starCount" , 0);

          //해당아이디의  별점 수정

     }

  }

}

 

요렇게 하시면 됩니다.

이드로이드 (22,930 포인트) 님이 2015년 2월 3일 답변
...