2017-09-05 6 views
2

첫 번째 액티비티에서 왼쪽 또는 오른쪽을 터치하면 두 번째 액티비티가 열림 값 계산 중 X 및 Y 액티비티는 조건에 따라 열립니다. 이 코드의 일부입니다터치 방식으로 액티비티 열기

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; 

그래서 여기 모두가 잘됩니다. 문제는 활동이 반복적으로 누적되어 열리는 것입니다. 첫 번째 활동으로 돌아가려면 버튼을 다섯 번 이상 누르십시오. 이것은 두 번째 활동이 다섯 번 이상 열렸 음을 의미합니다. 나는 안드로이드에서 새로운이야. 문제가있는 곳과 올바른 방법은 무엇인지, 실수는 어디 있는지 알고 싶습니다. 활동이 이미 시작 경우

+0

. 너의 (그리고 everyones) 손가락이 커질 것이기 때문에, 거의 모든 탭은 다수 스크린 접촉으로 세어진다. 따라서 criterium이 완료된 후 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

에서 그것을 할 수 있습니다. 고맙습니다. –