2013-05-06 97 views
1

我想構建一個調度應用程序,我試圖告訴我的應用程序區分滾動和點擊日期。當我滾動到某個月時,setOnDateChangeListener會在我不打算使用時觸發。CalendarView:區分水龍頭

所以對於我試過或收集的東西:我嘗試實現onGestureListener(不知道這是否是正確的方法)並使用OnSingleTapUp方法來確定滾動和選擇日期。我只是嘗試將setOnDateChangeListener方法放入OnSingleTapUp方法,但我不明白,因爲當我選擇日期時,我在技術上試圖調用setOnDateChangeListener。

我真的很感謝任何指導或轉介到另一個類似的職位。

感謝

崖乙

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.GestureDetector; 
import android.view.GestureDetector.OnDoubleTapListener; 
import android.view.GestureDetector.OnGestureListener; 
import android.view.MotionEvent; 
import android.view.View; 
import android.view.View.OnTouchListener; 
import android.widget.CalendarView; 
import android.widget.CalendarView.OnDateChangeListener; 

public class MainActivity extends Activity implements OnGestureListener{ 

//Setting variables 
CalendarView calendar; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    calendar = (CalendarView) findViewById(R.id.calendarView1); 


} 

@Override 
public boolean onDown(MotionEvent e) { 
    // TODO Auto-generated method stub 
    return false; 
} 

@Override 
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 
     float velocityY) { 
    // TODO Auto-generated method stub 
    return false; 
} 

@Override 
public void onLongPress(MotionEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, 
     float distanceY) { 
    // TODO Auto-generated method stub 
    return false; 
} 

@Override 
public void onShowPress(MotionEvent e) { 
    // TODO Auto-generated method stub 

} 

@Override 
public boolean onSingleTapUp(MotionEvent e) { 
    // TODO Auto-generated method stub 

      calendar.setOnDateChangeListener(new OnDateChangeListener() { 

     @Override 
     public void onSelectedDayChange(CalendarView view, int year, 
       int month, int dayOfMonth) { 
      // TODO Auto-generated method stub 

      Intent intent = new Intent(); 
      intent.setClass(MainActivity.this, TaskSetup.class); 
      intent.putExtra("data", dayOfMonth); 
      startActivity(intent);    
     } 
    }); 
    return false; 
} 
} 

回答

0

嘗試return true;onSingleTapUp方法。

謝謝。

+0

嘿,我試過,但沒有得到它的工作 – cben90 2013-05-06 20:44:05