2011-01-06 131 views
2

我有3個類:MainActivity,DrawView和SecondActivity。 MainActivity只需使用DrawView在屏幕上繪製一些東西。當我觸摸位圖上的屏幕時,如何啓動SecondActivity,我知道位圖(在代碼中)在哪裏。 DrawView類的onTouchEvent函數。Android:startActivity()在擴展類中查看

@Override 
public boolean onTouchEvent(final MotionEvent ev) { 
    switch (ev.getAction()) { 
     case MotionEvent.ACTION_DOWN: { 

      float posX = ev.getX(); 
      float posY = ev.getY(); 
      if(play.touched(posX, posY)==true){ 

      } else { 
      } 
      return true; 
     } 

} 
    return false; 
} 

函數play.touched(posX,posY)返回一個布爾值(I作出韓德爾位圖的位置的類)。我怎樣才能從這裏開始第二個活動?

+0

看看這個:http://stackoverflow.com/questions/5203019/how-to-start-one-activity-from-customized-view – user1400290 2013-09-26 09:41:13

回答

10
 if(play.touched(posX, posY)){ 
      Intent intent = new Intent(getContext(), SecondActivity.class); 
      ((Activity)getContext()).startActivity(intent); 
     } else { 
     } 
+0

我不能在類中調用startActivity(Intent)來擴展View。 – Felix 2011-01-06 14:04:32

0

你試過:

if(play.touched(posX, posY)){ 
    Intent intent = new Intent(getContext(), SecondActivity.class); 
    super.getContext().startActivity(intent); 
} else { 
}