2013-11-21 52 views
0

參考these tutorials and examples,我試圖實施滑動動作。爲此,我在MainActivity的onCreate方法中編寫了以下代碼。Android上的滑動動作

ActivitySwipeDetector swipe = new ActivitySwipeDetector(this, null); 
RelativeLayout swipe_layout = (RelativeLayout) findViewById(R.id.mainll); 
swipe_layout.setOnTouchListener(swipe); 

現在我有幾個問題 -

  1. 被傳遞null作爲SwipeInterface活動好嗎?
  2. ActivitySwipeDetector類中SwipeInterface活動參數的用法是什麼?如果我只是在ActivitySwipeDetector類中實現所有函數,刪除SwipeInterface類,那麼可以嗎?

感謝您的幫助像往常一樣。

回答

1

好沒關係,我想我懂了..

public class MainActivity extends Activity implements SwipeInterface { 
    public static int CURR_BOOK_ID = 0; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     ActivitySwipeDetector swipe = new ActivitySwipeDetector(this, (SwipeInterface) this); 
     RelativeLayout swipe_layout = (RelativeLayout) findViewById(R.id.mainll); 
     swipe_layout.setOnTouchListener(swipe); 
    } 
...................... 
.................... 
} 
1

你會得到,因爲線activity.onRightToLeft(v);activity.onLeftToRight(v);內onRightToLeftSwipe和onLeftToRightSwipe一個NullPointerException。您可以在ActivitySwipeDetector類實現的一切,擺脫那些線(但它不是一個很好的解決方案),或者在您自己的活動實施,標誌着這項活動爲implements SwipeInterface,並通過this作爲第二個參數ActivitySwipeDetector

+0

感謝隊友,我只是提出瞭解決方案:) – abdfahim