안드로이드 개발 질문/답변
(글 수 45,052)
이번에 안드로이드를 처음 접하게 된 초보입니다
Intent 관련해서 질문드리고 싶은데요
public class Main extends Activity {
private MainView mainView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mainView = new MainView(this);
setContentView(mainView);
}
public boolean onTouchEvent(MotionEvent event){
int touchX = (int) event.getX();
int touchY = (int) event.getY();
int touchAction = event.getAction();
public static final int SHOW_SUBACTIVITY = 1;
if(touchAction == MotionEvent.ACTION_UP){
if(touchX < 203 && touchX > 110 && touchY < 154 && touchY > 117){
Intent intent = new Intent(this, loginActivity.class);
startActivityForResult(intent, SHOW_SUBACTIVITY);
}
}
}
}
public class MainView extends View{
private int touchX = 0;
private int touchY = 0;
private int touchAction = -999;
public boolean onTouchEvent(MotionEvent event) {
touchX = (int) event.getX();
touchY = (int) event.getY();
touchAction = event.getAction();
invalidate();
return true;
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawBitmap(background, new Rect(0,0,255,340), new Rect(0,0,480,650), null);
if(touchAction == MotionEvent.ACTION_DOWN || touchAction == MotionEvent.ACTION_MOVE){
if(touchX < 203 && touchX > 110 && touchY < 154 && touchY > 117){
canvas.drawBitmap(startButton, new Rect(0,0,148,58), new Rect(110,117,392,231),null);
}
}
}
이런식으로 어떤 특정부분을 눌렀다 떼면 다음 activity로 넘어가고
누르고만 있으면 view의 onDraw로 그림을 보여주는 아주 간단한 프로그램을 만들고 싶은데요
activity의 onTouchEvent부분이 아얘 작동하질 않습니다
view에서 생성자에 붙은 context 를 사용해서 startActivityForResult를 하려니 onTouchEvent는 작동이 잘 되는데 Intent 실행이 되지가 않아요.
원래 Activity에서 onTouchEvent가 잘되는데 제가 이상하게 한건가요? 아니면 다른 방법이 있는건가요?
해결 방법이 있으면 부탁드립니다.