2012-01-06 139 views
0

你好,即時製作一個Android應用程序,它使用地理位置/谷歌地圖,沒有按鈕在地圖/應用程序,除了選項卡主機。所以我需要它,所以如果用戶點擊了1500毫秒,然後一個對話框出現,到目前爲止,沒有任何反應,但我在這裏沒有錯誤是我的代碼預先感謝Android Motionevent覆蓋

class Touchy extends Overlay{ 
    public boolean ontouchevent(MotionEvent e, MapView m){ 
     if (e.getAction() == MotionEvent.ACTION_DOWN){ 
      start = e.getEventTime(); 
     } 
     if (e.getAction() == MotionEvent.ACTION_UP){ 
      stop = e.getEventTime(); 
     } 
     if (stop - start > 1500){ 
      AlertDialog alert = new   AlertDialog.Builder(SPtouch2fixActivity.this).create(); 
      alert.setTitle("Alert"); 
      alert.setMessage("This is an alert"); 
      alert.setButton("OK", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 

       } 
      }); 
      alert.setButton2("Update Geolocation", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 

       } 
      }); 
      alert.setButton3("cancel", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 

       } 

      }); 
      alert.show(); 
      return true; 
     } 

     return false; 
    } 

} 

}

回答

1

我有同樣的問題,但是我終於在四天的戰鬥中設法解決了它!

問題是您在方法的頂部缺少@Override

爲了解決這個問題,編輯您的代碼如下:

@Override 

public boolean ontouchevent(MotionEvent e, MapView m) { 
    if (e.getAction() == MotionEvent.ACTION_DOWN) { 
     start = e.getEventTime(); 
    } 
} 

希望它爲你工作。

+1

這不是解決方案,但應該有助於揭示原因:'onTouchEvent'與'ontouchevent'不同。 – 2012-11-08 17:41:04