2017-09-05 59 views
2

在我的第一個活動中,觸摸左側或右側打開第二個活動 值計算X和Y根據條件打開活動。這是代碼的一部分以觸摸方式打開活動android

case MotionEvent.ACTION_MOVE: 

    if (v.getId() == R.id.layout3) { 

     float currentX = event.getX(); 
     float currentY = event.getY(); 

     if ((currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) &&(downXValue < 146.0)){  
      startActivity(i); 
     } 
    } 
    break; 

所以這裏一切順利。 問題在於活動重複累積超過對方 如果我想返回到第一個活動,您應該按下按鈕超過五次 這意味着第二個活動打開了五次以上。 我是Android新手。我想知道問題出在哪裏,什麼是正確的方法,錯誤在哪裏。謝謝

+0

我使用的是觸摸聽衆猜您選擇。由於你的(和每個人)的手指很大,幾乎每個水龍頭都算作多個屏幕接觸。因此,添加一個標誌,在標準完成後,startActivity不再被調用。 – Gotiasits

+0

謝謝您的信息 –

回答

2

你可以添加一個標誌,檢查是否活動已經啓動:

private activityStarted = false; 

if (!activityStarted && (currentX > 160.0) && (currentY > 5.0) && (currentY < 55.0) && (downXValue < 146.0)){ 
    activityStarted = true;  
    startActivity(i); 
} 
+0

謝謝,但我會在哪裏讓她回來假 –

+0

你可以在onResume –

+1

這樣做謝謝你,我讓他們在onResume中返回false他們變得很好 –