안드로이드 개발 질문/답변
(글 수 45,052)
모종의 사정상 만든 코드가
class MapView extends View {
~~~~
}
이고 이 안에서 특정 동작을 하면 새로운 액티비티를 '원하는 값'을 보내면서 띄우고 싶습니다. (딱히 리턴받을 이유는 없고요)
Intent 가 Activity 를 extends 한 클래스에서만 동작하기 때문에 여러가지 방법을 써봤지만 안되네요..
동작을 수행하는 함수를 static 선언하면 안된다고 에러내고..
참고로 메인클래스의 onCreate에서 뷰는 이렇게 불러왔습니다.
MapView mv = new MapView(this);
setContentView(mv);




class MapView extends View {
Context mContext;
}
위와같이 맴버변수 하나 두시구요....
생성자 안에서 mContext = context; 형식으로 일단 Context를 받아둡니다.
startActivity가 필요할경우에 아래와 같이 쓰시면 됩니다.
if(mContext instanceof Activity){
Activity activity = (Activity)mContext;
activity.startActivity(intent);
}