2013-03-25 75 views
0

我無法重寫onSwipe()方法。錯誤是「Adds類型的方法onSwipe(int)必須覆蓋或實現超類型方法」。誰能告訴我我做錯了什麼?我想在使用滑動手勢的活動之間導航。有沒有其他方法可以做到這一點?如果是這樣,請解釋。我是否必須導入更多包?onSwipe(int direction)不起作用

package com.mahavega.qcdemo; 

import com.mahavega.qcdemo.R; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageView; 
import android.widget.TextView; 

public class Adds extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.ads); 
     TextView tv1 = (TextView) findViewById(R.id.textView1); 
     tv1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       startActivity(new Intent(Adds.this, Ads2.class)); 
      } 
     }); 
     ImageView im1 = (ImageView) findViewById(R.id.imageView1); 
     im1.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       startActivity(new Intent(Adds.this, Real.class)); 
      } 
     }); 
    } 
    @Override 
    public void onSwipe(int direction) { 
     Intent intent = new Intent(); 

     switch (direction) { 
     case SimpleGestureFilter.SWIPE_RIGHT: 
      intent.setClass(this, Ads2.class); 
      break; 

     case SimpleGestureFilter.SWIPE_LEFT: 
      intent.setClass(this, Ads3.class); 
      break; 
     } 

     startActivity(intent); 
    } 
} 

回答

1

你的活動應該實現SimpleGestureListener以便能夠接收手勢事件。

public class Adds extends Activity implements OnGestureListener 
+0

顯示錯誤「SimpleGestureListener無法解析爲類型」 – o3n 2013-03-25 14:35:49

+0

我的不好,這是一個錯字,它應該是SimpleOnGestureListener – sokie 2013-03-25 14:39:08

+0

顯示相同的錯誤。我需要導入任何包嗎? – o3n 2013-03-25 14:40:54

0

您的錯誤讀取的事實是Activity沒有onSwipe(int)方法。所以錯誤是說你不能覆蓋沒有超級方法的方法。 同樣@sokie說,從他添加的鏈接中檢查出OnGestureListener。對於用於開始新活動的滑動手勢, 從左向右滑動時,覆蓋調用onBackPressed(就像你要回去)並從右向左滑動開始新的活動。儘管這意味着您必須在每個活動中創建手勢監聽器。

+0

如何獲得這些刷卡事件? – o3n 2013-03-25 14:58:35

+0

通過實現該偵聽器,您可以獲得滑動事件。如果遇到問題,應該讓IDE在導入包時幫助您。 – sokie 2013-03-25 15:21:42

+0

@ o3n您將onTouchListener實現到應用程序,然後將事件傳遞給手勢偵聽器,您應該有一個想法看完這篇文章後http://stackoverflow.com/a/938657/1359802 – Raigex 2013-03-25 15:28:10