2011-10-22 68 views
2

我遇到了使用CalendarView的問題。在Android上的CalendarView中觸摸所選日期時無法生成事件

我希望處於activity1中的用戶轉到activity2中的日曆,然後觸摸日期然後轉到activity3。

目前,如果用戶想要觸摸已選定的日期(它默認使用今天的日期),動了,他不能因爲日曆的唯一事件是OnDateChangeListener,我不能讓它與OnClick工作或OnTouch.

有人知道一種方法來使其工作?

這是我的嘗試:

public class CalendarioActivity extends Activity { 
private CalendarView calendar; 
@Override 
protected void onCreate(Bundle SavedInstanceState) { 
    super.onCreate(SavedInstanceState); 
    calendar = new CalendarView(this); 
    calendar.setOnDateChangeListener(_DateSetListener); 
    calendar.setOnClickListener(_OnClickListener); 
    setContentView(calendar); 
} 

private OnClickListener _OnClickListener = new OnClickListener() { 
     public void onClick(View v) { 
     Date date = new Date(calendar.getDate()); 

     Intent i=new Intent(CalendarioActivity.this,SelecionarHoraActivity.class); 

     i.putExtra("data", 
        new int[] {date.getDay(),date.getMonth(),date.getYear()}); 
     startActivity(i);}}; 

private OnDateChangeListener _DateSetListener = new OnDateChangeListener() { 
     public void onSelectedDayChange(CalendarView view, 
             int year, 
             int month, 
             int dayOfMonth) { 

     Intent i = new Intent(CalendarioActivity.this, 
           SelecionarHoraActivity.class); 
     i.putExtra("data", new int[] {dayOfMonth, month, year}); 

     startActivity(i);}}; 
} 

回答

0

你嘗試通過calendar.setClickable(true)使CalendarView的點擊。這將啓用點擊事件。 我不知道它是否會爲個別日期做,但如果我理解正確,它會使您的onClickListener成爲可能。

+0

我試過了,它不起作用 – GustavoAndrade

0
this.calendarView.setOnDateChangeListener(this);