2011-10-22 59 views
2

CalendarViewを使用して問題が発生しました。AndroidでCalendarViewで選択した日付に触れるとイベントを生成できません

私はactivity1にいるユーザーをアクティビティ2のカレンダーに移動してから、日付をタッチして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); 
関連する問題