안드로이드 개발 질문/답변
(글 수 45,052)
커스텀 뷰를 사용하기 위하여 ArrayAdapter 를 사용하여 리스트 액티비티를 구현하였고,
리스트의 한줄마다 하나의 액티비티를 연결하고
그 액티비티를 실행 후 종료될 때
종료되는 시점에 리스트액티비티에서 결과값을 받고 다른 액션을 취하고 싶습니다.
액티비티간 값을 주고 받는 startActivityForResult 와 resultForActivity를 사용하면 될것 같은데
ArrayAdapter에서 startAcitivity는 있는데
startActivityForResult 는 없네요;
ArrayAdapter에서 startActivityForResult는 어떻게 쓸수 있을까요;;
고수님들 답변 부탁드리겠습니다
그럼 다들 좋은 하루 보내세요^^
2011.02.21 14:37:27
우선 백지혜님 답변 감사합니다.
죄송하지만 설명해 주신 답변만으로는 제가 이해하기 힘드네요;;
현재 커스텀 뷰를 꾸미기 위해서 ArrayAdapter를 상속받은 어뎁터 클래스를 내부 클래스로 두지 않고
외부 클래스로 따로 만들었고,
이 어뎁터는 리스트 액티비티에서 사용하고 있습니다.
startActivit를 실행하는 부분은 ArrayAdapter를 상속받은 어뎁터 클래스이며,
(다른 액티비티를 호출 하는 부분은 어뎁터에서 각각의 줄에 임의의 버튼을 두어
버튼을 누를시에 다른 액티비티를 호출하게 구현했습니다)
이때 어뎁터 클래스에서 startActivity가 아닌 startActiivityForResult를 사용하고 싶습니다
어뎁터 클래스는 이미 ArrayAdapter를 상속 받았기에 Activity를 또 다시 상속하여 사용하는 방법은 힘들것 같은데
제가 잘못 이해하고 있거나 하는 부분이 있으면 좀더 설명해 주실수 있을까요? ^^:;
2011.02.21 14:46:42
(추천:
1 / 0)
Adapter의 생성자에서 첫번째 매개변수로 넣는 Context를 Activity로 변경하시고
맴버변수로 잡아놓으신 후 사용하시면 됩니다.
Activity mActivity;
public CustomAdapter(Activity context, 생략 ){
super(context, 생략
mActivity = context;
}
mActivity.startActivityForResult(
맴버변수로 잡아놓으신 후 사용하시면 됩니다.
Activity mActivity;
public CustomAdapter(Activity context, 생략 ){
super(context, 생략
mActivity = context;
}
mActivity.startActivityForResult(




ArrayAdapter를 상속받은 내부 클래스를 사용하시고, 그안에서 startActivityForResult 를 사용하고싶은신거같은데요
startActivityForResult ,startAcitivity 는 Activity를 상속하면 사용이 가능합니다.
상속받는 부분이나 버전(?)을 채크해보세요
: startActivityForResult가 실행되는부분을 함수로 빼서 사용해보심도 좋을거같습니다@_@;;