2013-03-02 2 views
0

Bitmap을 사용하여 메뉴 그림을 그립니다. TouchEvent를 사용하여 MenuLoading 활동에서 다른 활동을로드하려고 시도했을 때 작동하지 않았습니다.Android에서보기 오류 처리

누구든지 문제를 해결할 수 있습니까? 미리 감사드립니다.

MenuView :

public class MenuView extends View{ 
    private Bitmap menu; 
    boolean result = false; 

    public MenuView(Context context) { 
     super(context); 
     menu = BitmapFactory.decodeResource(getResources(), R.drawable.menu2); 
    } 
    @Override 
    protected void onDraw(Canvas canvas) { 
     canvas.drawBitmap(menu, 0, 0, null); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent ev) { 
     switch (ev.getAction()) { 
     case MotionEvent.ACTION_DOWN: { 
      // Code on finger down 
      float posX = ev.getX(); 
      float posY = ev.getY(); 
      float x1 = 296, x2 = 528, y1 = 246, y2 = 304; 
      if ((posX >= x1 && posX <= x2) && (posY >= y1 && posY <= y2)) { 
       // we are in the square 
       result = true; 
      } 
      else { 
       // we are somewhere else 
      } 
      break; 
     } 
     case MotionEvent.ACTION_UP: { 
      // Code on finger up 
      break; 
     } 
     case MotionEvent.ACTION_MOVE: { 
      // Code on finger move 
      break; 
     } 
     } 
     invalidate(); 
     return result; 
    } 
} 

및 MenuLoading가 활동 : 그것은 아무 의미도하지 않습니다

public class MenuLoading extends Activity { 
    MenuView View; 
    @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      View = new MenuView(this); 
      setContentView(View); 
      if (View.result == true){ 
       Intent i = new Intent (this, GameLoading.class); 
       startActivity(i); 
      } 
     } 

} 
+0

무엇이 오류입니까? logcat 게시 또는 제발 "작동하지 않았다"제발 의미를 설명하십시오. + posX와 posY를 인쇄 할 로그를 넣으십시오 – ben75

+0

메뉴를 클릭하면 다른 활동으로 변경되지 않습니다 ... –

+0

이상하게도 아무 것도 인쇄되지 않습니다 ... 나는 운명 지어집니다 ... –

답변

0

onCreate에서이 코드를 넣어 :

여기

내가 사용했던 코드입니다
if (View.result == true){ 
      Intent i = new Intent (this, GameLoading.class); 
      startActivity(i); 
} 

이벤트 핸들러에서 이동하십시오 :

// we are in the square 
Intent i = new Intent (getContext(), GameLoading.class); 
((Activity)getContext()).startActivity(i); 
return true; 
+0

MenuView의 이벤트 처리기로 이동하면 startActivity (i) 메서드가 알 수 없음이라는 메시지가 표시됩니다 ... –

+0

죄송합니다. 실수입니다. 방금 내 게시물을 편집했습니다. – ben75

+0

도움을 주셔서 대단히 감사합니다.하지만 문제는 여전히 여기에 있습니다. TouchEvent로 활동을 연결할 수 없습니다. 그림을 메뉴로 그리기 위해 비트 맵을 사용할 때 문제가 있다고 생각합니까? –